常用的

💡 原文英文,约400词,阅读约需2分钟。
📝

内容提要

文章讨论了Bash脚本中的变量赋值和文件测试,包括如何为变量设置默认值,以及检查文件或目录是否存在。介绍了多种文件测试操作符的用法,如-d、-f、-e等,以帮助用户判断文件类型和状态。

🎯

关键要点

  • 在Bash中,可以为变量设置默认值,使用语法 FOO="${VARIABLE:-default}",如果VARIABLE未设置或为空,则FOO将被赋值为'default',而VARIABLE的值保持不变。
  • 使用语法 FOO="${VARIABLE:=default}",如果VARIABLE未设置或为空,则将其值设置为'default',然后FOO将被赋值为该值。
  • 可以使用多种文件测试操作符来检查文件或目录的存在性和类型,包括:
  • - -b FILE:如果FILE存在且是特殊块文件,则为真。
  • - -c FILE:如果FILE存在且是特殊字符文件,则为真。
  • - -d FILE:如果FILE存在且是目录,则为真。
  • - -e FILE:如果FILE存在且是文件,无论类型如何,则为真。
  • - -f FILE:如果FILE存在且是常规文件(不是目录或设备),则为真。
  • - -G FILE:如果FILE存在且与运行命令的用户具有相同的组,则为真。
  • - -h FILE:如果FILE存在且是符号链接,则为真。
  • - -g FILE:如果FILE存在且设置了组ID(sgid)标志,则为真。
  • - -k FILE:如果FILE存在且设置了粘滞位标志,则为真。
  • - -L FILE:如果FILE存在且是符号链接,则为真。
  • - -O FILE:如果FILE存在且由运行命令的用户拥有,则为真。
  • - -p FILE:如果FILE存在且是管道,则为真。
  • - -r FILE:如果FILE存在且可读,则为真。
  • - -S FILE:如果FILE存在且是套接字,则为真。
  • - -s FILE:如果FILE存在且大小非零,则为真。
  • - -u FILE:如果FILE存在且设置了用户ID(suid)标志,则为真。
  • - -w FILE:如果FILE存在且可写,则为真。
  • - -x FILE:如果FILE存在且可执行,则为真。

延伸问答

如何在Bash中为变量设置默认值?

可以使用语法 FOO="${VARIABLE:-default}",如果VARIABLE未设置或为空,则FOO将被赋值为'default',而VARIABLE的值保持不变。

Bash中如何检查文件是否存在?

可以使用测试操作符,例如 -e FILE 来检查文件是否存在,无论类型如何。

Bash中如何判断一个文件是否是目录?

可以使用 -d FILE 操作符,如果FILE存在且是目录,则返回真。

在Bash中,如何为变量赋值并同时设置默认值?

使用语法 FOO="${VARIABLE:=default}",如果VARIABLE未设置或为空,则将其值设置为'default',然后FOO将被赋值为该值。

Bash中有哪些文件测试操作符?

常用的文件测试操作符包括 -f、-d、-e、-r、-w、-x 等,用于检查文件的存在性和类型。

如何检查一个文件是否可读?

可以使用 -r FILE 操作符,如果FILE存在且可读,则返回真。

➡️

继续阅读