-
作为Bash Shell 的初学者,平时练习时候不应该使用root权限账户,以免对系统造成不可预估后果
-
什么是Shell的种类?通常习惯上所说的多少种Shell是指多少种Shell脚本解释器,例如有bash、sh、csh、ksh等
-
Shell变量名不可以使用"$"符号,因为使用Shell的时候用”$“符号来区分变量和变量名(或者说字符)
-
使用变量名时,直接在变量名前加上"$"符号即可,为了帮助解释器识别变量的边界,可以在变量名加上花括号,但是花括号是可选的,例如:echo ${your_name} 等价于echo $your_name
-
Shell 的”=“左右两边不可以有空格,这点有别于其他语言!!!
-
Shell含有一些特殊变量
特殊变量 含义 示例 $ 当前Shell进程的ID,即pid $echo $$ 0 当前脚本的文件名 $echo $0 n 传递给脚本或函数的参数,类似与main函数中的参数 $echo $n # 传递给脚本或函数的参数个数 $echo $# * 传递给脚本或函数的所有参数 $echo $* @ 传递给脚本或函数的所有参数。被双引号(" ")包含时,与 $* 稍有不同 $echo $@ ? 上个命令的退出状态,或函数的返回值 $echo $? -
Shell中的转移字符并不能自动转化(相对而言),需要在命令中加入参数,例如:
#!/bin/bash a=10 echo -e "Value of a is $a \n"
这里的运行结果是:"Value of a is 10";-e表示对转义字符进行替换。
如果不使用-e选项,将会原样输出:"Value of a is 10\n"
-
转移字符 名称 \\ 反斜杠 \a 警报,响铃 \b 退格(删除键) \f 换页(FF),将当前位置移到下页开头 \n 换行 \r 回车 \t 水平制表符(tab键) \v 垂直制表符 可以使用 echo 命令的 -E 选项禁止转义,默认也是不转义的;使用 -n 选项可以禁止插入换行符。
-
命令替换是指Shell可以先执行命令,将输出结果暂时保存,在适当的地方输出。
命令替换的语法:`command`
注意是反引号,不是单引号,这个键位于 Esc 键下方。
- 运算符关系
-eq
检测两个数是否相等,相等返回 true。[a−eqb ] 返回 true。 -ne 检测两个数是否相等,不相等返回 true。[a−neb ] 返回 true。
-gt 检测左边的数是否大于右边的,如果是,则返回 true。[a−gtb ] 返回 false。
-lt 检测左边的数是否小于右边的,如果是,则返回 true。[a−ltb ] 返回 true。
-ge 检测左边的数是否大等于右边的,如果是,则返回 true。[a−gea−geb ] 返回 false。 -le 检测左边的数是否小于等于右边的,如果是,则返回 true。[a−leb ] 返回 true。 #!/bin/sh a=10 b=20 if [ $a -eq $b ] then echo "$a -eq $b : a is equal to b" else echo "$a -eq $b: a is not equal to b" 运行结果: 10 -eq 20: a is not equal to b
- 文件测试运算符列表
指令 指令描述 -b file检测文件是否是块设备文件,如果是,则返回 true。[ -b $file ] 返回 false。 -c file检测文件是否是字符设备文件,如果是,则返回 true。[ -b $file ] 返回 false。 -d file检测文件是否是目录,如果是,则返回 true。[ -d $file ] 返回 false。 -f file检测文件是否是普通文件(既不是目录,也不是设备文件),如果是,则返回 true。[ -f $file ] 返回 true。 -g file检测文件是否设置了 SGID 位,如果是,则返回 true。[ -g $file ] 返回 false。 -k file检测文件是否设置了粘着位(Sticky Bit),如果是,则返回 true。[ -k $file ] 返回 false。 -p file检测文件是否是具名管道,如果是,则返回 true。[ -p $file ] 返回 false。 -u file检测文件是否设置了 SUID 位,如果是,则返回 true。[ -u $file ] 返回 false。 -r file检测文件是否可读,如果是,则返回 true。[ -r $file ] 返回 true。 -w file检测文件是否可写,如果是,则返回 true。[ -w $file ] 返回 true。 -x file检测文件是否可执行,如果是,则返回 true。[ -x $file ] 返回 true。 -s file检测文件是否为空(文件大小是否大于0),不为空返回 true。[ -s $file ] 返回 true。 -e file检测文件(包括目录)是否存在,如果是,则返回 true。[ -e $file ] 返回 true。 #!/bin/sh file="/var/www/tutorialspoint/unix/test.sh" if [ -r $file ] then echo "File has read access" else echo "File does not have read access"
【Bash Shell】从零开始01
猜你喜欢
转载自blog.csdn.net/m0_37811192/article/details/81572479
今日推荐
周排行