## shell脚本属性 首先可以查看一下shell脚本的属性,亮绿色带星号为可执行shell脚本。 ```bash ll test.sh -rwxrwxr-x 1 jilan jilan 268 Nov 2 03:04 test.sh* ``` 如果在运行shell脚本中不能正常运行,那么就要查看一下shell文件的格式,我们用vim打开文件,在命令行模式中执行:`set ff` 查看文件格式为 `fileformat=dos` 是不能正常运行的,要改为 `fileformat=unix` 才可以正常运行。 ```bash ###方法一 vim test.sh #命令行模式执行 set fileformat=unix #保存退出 ###方法二 #直接执行sed转换命令 sed -i "s/\r//" test.sh ``` ## shell执行方式 1、工作目录执行 ```bash ./test.sh ``` 2、绝对路径执行 ```bash /home/wang/scripts/test.sh ``` 3、sh执行 ```bash sh test.sh #或者 bash test.sh ``` 4、shell环境执行 ```bash #shell环境执行,指的是在当前的shell环境中执行,可以使用 . 接脚本 或 source 接脚本 . test.sh #或者 source test.sh ``` ## shell环境 Linux 的 Shell 种类众多,常见的有: - Bourne Shell(/usr/bin/sh或/bin/sh) - Bourne Again Shell(/bin/bash) - C Shell(/usr/bin/csh) - K Shell(/usr/bin/ksh) - Shell for Root(/sbin/sh) 最常用的是 Bash,也就是 Bourne Again Shell,由于易用和免费,Bash 在日常工作中被广泛使用。同时,Bash 也是大多数Linux 系统默认的 Shell。在一般情况下,人们并不区分 Bourne Shell 和 Bourne Again Shell,所以,像 **#!/bin/sh**,它同样也可以改为 **#!/bin/bash**。**#!** 告诉系统其后路径所指定的程序即是解释此脚本文件的 Shell 程序。