shell笔记
数字直接比较
命令 | 含义 |
---|---|
-eq | 等于,如:if [ $a -eq $b ] |
-ne | 不等于,如:if [ $a -ne $b ] |
-gt | 大于,如:if [ $a -gt $b ] |
-ge | 大于等于,如:if [ $a -ge $b ] |
-lt | 小于,如:if [ $a -lt $b ] |
-le | 小于等于,如:if [ $a -le $b ] |
< | 小于(需要双括号),如:(($a < $b)) |
<= | 小于等于(需要双括号),如:(($a <= $b)) |
> | 大于(需要双括号),如:(($a > $b)) |
>= | 大于等于(需要双括号),如:(($a >= $b) |
字符串比较
命令 | 含义 | 示例 |
---|---|---|
-z string | 如果 string 长度为零,则为真 | [ -z “$myvar” ] |
-n string | 如果 string 长度非零,则为真 | [ -n “$myvar” ] |
string1 = string2 | 如果 string1 与 string2 相同,则为真 | [ “$myvar” = “one two three” ] |
string1 != string2 | 如果 string1 与 string2 不同,则为真 | [ “$myvar” != “one two three” ] |
文件比较
命令 | 含义 | 示例 |
---|---|---|
-e filename | 如果 filename 存在,则为真 | [ -e /var/log/syslog ] |
-d filename | 如果 filename 为目录,则为真 | [ -d /tmp/mydir ] |
-f filename | 如果 filename 为常规文件,则为真 | [ -f /usr/bin/grep ] |
-L filename | 如果 filename 为符号链接,则为真 | [ -L /usr/bin/grep ] |
-r filename | 如果 filename 可读,则为真 | [ -r /var/log/syslog ] |
-w filename | 如果 filename 可写,则为真 | [ -w /var/mytmp.txt ] |
-x filename | 如果 filename 可执行,则为真 | [ -L /usr/bin/grep ] |
filename1 -nt filename2 | 如果 filename1 比 filename2 新,则为真 | [ /tmp/install/etc/services -nt /etc/services ] |
filename1 -ot filename2 | 如果 filename1 比 filename2 旧,则为真 | [ /boot/bzImage -ot arch/i386/boot/bzImage ] |
ps相关命令
查看pid进程号
ps -ef |