是否有一个键可以解释这些字母,例如-n
,-d
等的全部含义?
例子:
if [[ -d ${directory_name} ]]; then ...; fi
钥匙是什么-d
或者在哪里可以找到钥匙?
例子:
while [[ -n ${variable_name} ]]; do ...; done
是什么-n
意思?
有没有一个指南可以解释所有这些-n
、、、、、等等?-e
-a
-d
-s
-h
我做了很多 Unix shell 脚本修改,并且我已经看到这些参数在循环中使用,或者在变量和文件位置等上使用 if then 语句。
我正在寻找一个地方来解释上面提到的脚本编写的每个参数。
答案1
我相信您应该在 shell 的手册页中找到所有详细信息(例如man bash
)。
此外,bash
例如,有一个名为 的内置命令help
。只需在参数中给出命令即可。这里的命令是[[
并help [[
重定向到命令test
(又名[
),因此help test
将为您提供您需要的内容。
最后,内置函数通常有其独立的对应项,/bin
并且通常提供联机帮助页 =>man [
或man test
答案2
您想要 BASH 的 TLDP 页面,
高级bash:http://www.tldp.org/LDP/abs/html/index.html
初学者狂欢:http://tldp.org/LDP/Bash-Beginners-Guide/html/index.html
你问的是关于文件测试操作符可以在这里找到:http://www.tldp.org/LDP/abs/html/fto.html
并且bash 条件表达式可以在这里找到:http://www.gnu.org/software/bash/manual/html_node/Bash-Conditional-Expressions.html
-d file is a directory
-f file is a regular file
-e file exists
-s file size is not zero
-b file is a block device
-h file is a symbolic link
-w file has write permissions for user executing this bash statement
{there are more}
#!/bin/bash
if [ -e $1 ] && [ -w $1 ]; then
echo "the file you entered was "$1" and it exists and you have write permission to it"
else
echo "condition failed for exist and for write permission"
fi