bash

来源:互联网 发布:帝国cms仿站视频教程 编辑:程序博客网 时间:2024/05/09 14:37

使用命令替换可以将任何命令或命令管道放在 ` ` 或 $( ) 之间


$ MYVAR=foodforthought.jpg
$ echo ${MYVAR##*fo}
rthought.jpg
$ echo ${MYVAR#*fo}
odforthought.jpg

##匹配最长子串

#匹配最短子串


从字符串末尾除去字符。紧靠 "$" 右边的字符("%)


运算符
文件比较运算符
-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 ]
字符串比较运算符 (请注意引号的使用,这是防止空格扰乱代码的好方法)
-z string [ -z "$myvar" ] 如果 string 长度为零,则为真
-n string [ -n "$myvar" ] 如果 string 长度非零,则为真


$((表达式))来执行算数表达式


Case 语句
Case 语句是另一种便利的条件结构。这里有一个示例片段:
case "${x##*.}" in
gz)
gzunpack ${SROOT}/${x}
;;
bz2)
bz2unpack ${SROOT}/${x}
;;
*)
echo "Archive format not recognized."
exit
;;
esac

原创粉丝点击