首页 > 代码库 > Bash

Bash

每次学了忘,忘了学,怎么记不住,因为长时间不用了

Bash 流程控制

条件分支

if [ -f $file_path ]; then    #do_somethingfi

if 后面跟条件如为0则进入then分支,这个和C/C++不同,因为bash主要用来根据一些命令的成功与否进行进一步的操作,命令执行成功则返回0,失败则非零

一般在if后面总是跟个中括号,但它不是bash语法的一部分,[ 也是一个程序,而不是bash本身的语法,它的参数以]结尾,与命令test功能一致

 常用检测

  • -a   file :file 存在
  • -d file :file存在并是一个目录
  • -e file :file 存在,同- a
  • -f file :file 存在并且是一个常规的文件(不是目录或者其他特殊类型文件)
  • -r file :有读的权限
  • -s file :文件存在且不为空
  • -w file :有写的权限
  • -x file :有执行的权限,或者对于目录有search的权限
  • -N file :在上次读取后,文件有改动
  • -O file :own所属的文件
  • -G file :group所属的文件
  • file1 -nt file2 :file1 比 file2 更新,以最后更新时间为准
  • file1 -ot file2 :file1 比 file2 更旧 ,以最后更新时间为准