常用的
💡
原文英文,约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存在且可读,则返回真。
➡️