内容一:[ ] 符号的数值比较符号和方法
1) -eq 相等则结果为真
2) -ne 不等于则结果为真
3) -gt 大于则结果为真
4) -lt 小于则结果为真
5) -ge 大于或等于则结果为真
6) -le 小于或等于则结果为真
内容二:[ ] 符号的数值比较案例
# [ 0 -ne 1 ]
# echo $?
0
(补充:这里以测试 0 是否不等于 1 为例)
1) -eq 相等则结果为真
2) -ne 不等于则结果为真
3) -gt 大于则结果为真
4) -lt 小于则结果为真
5) -ge 大于或等于则结果为真
6) -le 小于或等于则结果为真
# [ 0 -ne 1 ]
# echo $?
0
(补充:这里以测试 0 是否不等于 1 为例)
1) -eq 相等则结果为真
2) -ne 不等于则结果为真
3) -gt 大于则结果为真
4) -lt 小于则结果为真
5) -ge 大于或等于则结果为真
6) -le 小于或等于则结果为真
# test 0 -ne 1
# echo $?
0
(补充:这里以测试 0 是否不等于 1 为例)
作者:朱明宇
名称:菜单
作用:提供一个可以供用户进行选择的菜单
使用方法:
1. 给此脚本添加执行权限
2. 执行此脚本
#!/bin/bash
while true
do
echo
echo '====== Optional Item ======'
echo '1.choose CentOS'
echo '2.choose RHEL'
echo '3.choose openSUSE'
echo '4.choose SUSE'
echo '*.Enter other keys to exit'
echo
read -p 'Which one do you want to choose ? ' choose
case $choose in
1)
echo
echo
echo '========= Result ========='
echo 'You have choosed CentOS'
echo ;;
2)
echo
echo
echo '========= Result ========='
echo 'You have choosed RHEL'
echo ;;
3)
echo
echo
echo '========= Result ========='
echo 'You have choosed openSUSE'
echo ;;
4)
echo
echo
echo '========= Result ========='
echo 'You have choosed SUSE'
echo ;;
*)
exit 1 ;;
esac
done
#!/bin/bash
var=
if [ ! -n "$var" ]; then
echo "NULL"
else
echo "NOT NULL"
fi
#!/bin/bash
var=
if [ ! "$var" ]; then
echo "NULL"
else
echo "NOT NULL"
fi
#!/bin/sh
var=
if [ "$var" = "" ]
then
echo "NULL"
else
echo "NOT NULL"
fi
#!/bin/sh
var=
if test -z "$var"
then
echo "NULL"
else
echo "NOT NULL"
fi
for <variable> in <list>
do
<command>
done
# for i in host1 host2 host3; do echo $i; done
host1
host2
host3
(补充:这里以 host1、host2、host3 三个名称作为循环条件)
# for i in host{1..3}; do echo $i; done
host1
host2
host3
(补充:这里以 host1、host2、host3 三个名称作为循环条件,并且通过通佩符进行了缩写)
# for i in *.txt ;do ls $i; done
a.txt
b.txt
c.txt
(补充:这里以所有以 txt 结尾的文件作为循环条件为例)
# for i in {a..c}.txt; do ls $i; done
a.txt
b.txt
c.txt
(补充:这里以所有以 txt 结尾的文件作为循环条件为例,并且通过通佩符进行了缩写)
# for i in `seq 1 10`; do echo $i; done
1
2
3
4
5
6
7
8
9
10
(补充:这里以 seq 1 10 命令的运行结果 1 到 10 作为循环条件为例)
# for i in {1..10} ; do echo $i; done
1
2
3
4
5
6
7
8
9
10
(补充:这里以 {1..10} 符号命令的运行结果 1 到 10 作为循环条件为例)
# for i in `seq 2 2 10`; do echo $i; done
2
4
6
8
10
(补充:这里以 seq 2 2 10 命令的运行结果 1 到 10 里的双数作为循环条件为例)
# for i in `cat user.list`; do echo $i; done
Tom
Natasha
(补充:这里以 cat user.list 命令的运行结果 user.list 里的文件清单为例)