Bash Scripts
#Bash脚本基础#
如何创建新shell脚本
1. 创建包含bash命令的文本文件。
文件的第一行应为: #!/bin/bash
2. 使文件可执行(使用chmod +x scripts)
3. 将文件放置在用户的$PATH的目录中
~/bin – 用于用户的私有程序
/usr/local/bin – 本地开发、系统上的其他人使用的脚本
/usr/local/sbin - 本地开发、由root使用的脚本直接运行脚本和使用source命令运行脚本是不同的!
脚本调试模式:
#!/bin/bash -x
引用和转义
1.弱引用:将字符串放置在双引号中,保留字符串中所有字符的文字值,$、`、\和!字符除外。换言之,变量 扩展和命令扩展在双引号内仍起作用。
2.强引用:将字符串放置在单引号中,保留字符串中所有字符的文字值,同时禁用所有扩展。
3.转义非引用的\是转义字符。它保留了下一个字符的文字值。



Shell变量
shell变量用于为稍后在脚本中使用的名称指定值,并且仅限于shell命令行或从中声明变量的脚本

命令替换
命令替换在子shell中执行指定命令并用命令输出替换脚本中的命令替换。
算术运算符
算术运算符指的是可以在程序中实现加、减、乘、除等数学运算的运算符。
1.Shell计算命令:
用$[]表示数学运算
用expr表示数学运算

2.循环:


3.循环与数学运算结合:

#用户建立#

#时间标签#

#5秒倒计时#



#1分10秒倒计时#


#数据库备份#



#查找文件#

#作业#
编写script.sh
1.
script.sh /mnt/userfile /mnt/passwdfile
2.
当要建立的用户已经存在不做任何操作
3.
当脚本后所指定文件数少于两个
Please give me userfile or passwdfile
4.
当所给文件的行数不一致
/mnt/userfile's line is different /mnt/passwdfile's line


