一、运行Shell脚本的两种方式 例:脚本名为test.sh
1、作为可执行程序执行
//此种方式必须在第一行指定解释器信息,例: #!/bin/bash
chmod +x ./test.sh#使脚本具有执行权限
./test.sh#执行脚本
注意,一定要写成 ./test.sh,而不是 test.sh,运行其它二进制的程序也一样,直接写 test.sh,linux 系统会去 PATH 里寻找有没有叫 test.sh 的,而只有 /bin, /sbin, /usr/bin,/usr/sbin 等在 PATH 里,你的当前目录通常不在 PATH 里,所以写成 test.sh 是会找不到命令的,要用 ./test.sh 告诉系统说,就在当前目录找。
2、直接调用解释器执行
/bin/sh test.sh #一般情况/bin目录已经处于PATH中,所以/bin/sh可以直接简写为sh
二、Shell变量 1、定义变量时,变量名不加美元符号,使用变量时,变量名前加美元符号
2、变量名定义规范如下
- 命名只能使用英文字母,数字和下划线,首个字符不能以数字开头。
- 中间不能有空格,可以使用下划线(_)。
- 不能使用标点符号。
- 不能使用bash里的关键字(可用help命令查看保留关键字)。
//有效变量名示例
RUNOOB
LD_LIBRARY_PATH
_var
var2
隐式语句赋值变量
for file in `ls /etc`
或
for file in $(ls /etc)
以上语句将 /etc 下目录的文件名循环出来。
3、在使用变量过程中,尽可能给所有变量都加上花括号
your_name="zhty"
echo $your_name //不推荐
echo ${your_name} //推荐
4、变量可以被重新定义
your_name="tom"
echo $your_name
your_name="alibaba"
echo $your_name
5、只读变量
#!/bin/bash
myUrl="http://www.google.com"
readonly myUrl
myUrl="http://www.runoob.com"
脚本结果如下:
/bin/sh: myUrl: This variable is read only.
6、删除变量
使用unset命令
unset variable_name
例:
#!/bin/sh
myUrl="http://www.runoob.com"
unset myUrl
echo $myUrl
以上示例没有输出。
三、字符串 1、用单引号和双引号均能定义字符串。
2、单引号不支持变量和转义字符,双引号支持。
3、获取字符串长度
string="abcd"
echo ${#string} #输出 4
4、字符串截断
从第三个字符开始截取4个字符
string="runoob is a great site"
echo ${string:2:4} # 输出 noob
四、Shell脚本常用命令 【Shell|Shell脚本学习总结】1、echo 命令用于向窗口输出文本。
2、unset用于删除变量。
推荐阅读
- Linux|Shell 编程~人入门到入坑。
- Linux技术|Windows平台下ADB的安装与使用
- c#|C#中使用SHFileOperation调用Windows的复制文件对话框
- Shell|Linux下 svn命令操作
- ubuntu环境|ubuntu10.04 常用命令
- ubuntu环境|Linux SSH相关命令
- python|合并和排序 Linux 上的文件 | Linux 中国
- 脚本输入处理——选项处理
- Shell|Linux: grep命令多关键字的“与”和“或”