shell脚本常见问题
1、[ $a == $b ] 和 [ $a -eq $b ] 有什么区别
1 | [ $a == $b ] 用于字符串比较 |
2、bash中如何使用数组
1 | 1)在bash中定义数组 |
3、shell如何获取输入值
1)使用参数
1 | ./script.sh param1 param2 |
2)(交互式输入)使用read命令,如下例
1 | [root@localhost ~]# cat read.sh |
4、 bash里如何给变量赋值
1)直接给变量赋值
1 | [zyfzone@yfeng ~]$ bash |
2)将命令执行结果给变量赋值
1 | [zyfzone@yfeng ~]$ b=`date` |
3)实例(结论是mem那一行的total=used+free+buff/cache)
1 | [zyfzone@yfeng ~]$ free -h |
5、两个整数相加的多种方法
1 | [root@localhost ~]# cat add.sh |
6、与或运算同时使用
1)在shell中&& 和||没有优先级之分,它只是从左向右执行。
1 | [root@localhost ~]# echo 0 || echo 1 && echo 1 |
2)注意&&需要前一条命令(或脚本)成功地执行完成之后,才执行后一条命令(或脚本)。
1 | [root@localhost ~]# cat abc.txt && echo 1 |
3)如下,从左到右
1 | [root@localhost ~]# name=tom && echo $name |
7、如何在后台运行脚本
1)在后台运行脚本,方式1
1 | command & |
2)在后台运行脚本,方式2
1 | nohup command & |
3)举例(下面一个例子“sleep睡眠”中定义了b.sh)
1 | #方式1 |
8、sleep睡眠
在有的shell(比如linux中的bash)中,sleep支持睡眠(分,小时)
1 | sleep 1 睡眠1秒 |
如下例
1 | [root@localhost ~]# cat b.sh |