我正在用bash编写每晚构建脚本。 除了一点小障碍,一切都很好,花花公子: #!/bin/bash for file in "$PATH_TO_SOMEWHERE"; do if [ -d $file ] then # do something directory-ish else if [ "$file" == "*.txt" ] # this is the snag then # do something txt-ish fi fi done; 我的问题是确定文件扩展名,然后采取相应措施。我知道问题出在if语句中,正在测试txt文件。 如何确定文件是否带有.txt后缀?
在阅读了bash手册页和关于此帖子之后。 我仍然很难理解该eval命令的确切功能以及这将是其典型用法。例如,如果我们这样做: bash$ set -- one two three # sets $1 $2 $3 bash$ echo $1 one bash$ n=1 bash$ echo ${$n} ## First attempt to echo $1 using brackets fails bash: ${$n}: bad substitution bash$ echo $($n) ## Second attempt to echo $1 using parentheses fails bash: 1: command …