RELATEED CONSULTING
相关咨询
选择下列产品马上在线沟通
服务时间:9:30-18:00
你可能遇到了下面的问题
关闭右侧工具栏
bash 学习总结
  • 作者:xiaoxiao
  • 发表时间:2020-12-23 11:02
  • 来源:未知

变量引用: ${abc}变量输出: export myvar=abc变量清除: unset myvar

获取文件名: basename /home/dir/abc.c 得到abc.c获取路径名: dirname /home/dir/abc.c 得到/home/dir

命令替换: `ls` 备用命令替换 : $(ls)

字符串:截断: #在$左边,%在$右边       ${myvar#abc}  从myvar左找到第一个abc,保留abc后面的       ${myvar##abc} 从myvar左找到最后一个abc,保留abc后面的       ${myvar%abc}  从myvar右找第一个abc,保留abc前面的       ${myvar%%abc}  从myvar右找到最后一个abc,保留abc前面的       ${myvar:开始位置:长度}             

条件语句if [ -f "$file" ] then   echo  $file is Fileelif [ -d "$file" ]then    echo $file is directoryfi

for file in /etc/a*do   if [ -f $file ]   then    echo $file is file   elif [ -d $file]   then        echo $file is directory   fidone

while [ condition ]do     statementsdone

myvar=0until [ $myvar -eq 10 ]do     echo $myvar     myvar=$(( $myvar + 1 ))done

case "${x##*.}" in      gz)            gzunpack ${SROOT}/${x}            ;;      bz2)            bz2unpack ${SROOT}/${x}            ;;      *)            echo "Archive format not recognized."            exit            ;;esac         

算术:$(( 222 * 223 ))

命令行变量:$0命令本身$1, $2, ...各个变量$# 变量个数$@ 用空格隔开的各个变量

运算符: 文件比较运算符 -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  如果 string 长度为零,则为真 [ -z "$myvar" ] -n string  如果 string 长度非零,则为真 [ -n "$myvar" ] string1 = string2 如果 string1 与 string2 相同,则为真 [ "$myvar" = "one two three" ] string1 != string2 如果 string1 与 string2 不同,则为真 [ "$myvar" != "one two three" ]