Unix命令找不到我想做的事。 这里的情况是如何使用unix find命令的path参数变量?
如果键入: find ../tmp -name "\*tmp\*"
它正确地输出包含 “TMP” 在企业名称中TMP文件夹
的文件,但是当我输入:
dir=../tmp #assign ../tmp as a variable named dir
find ${dir} -name "\*tmp\*"
输出说:没有这样的文件或目录
我的猜测是查找逗号nd假定变量“dir”作为要查找的文件? 我该如何解决这个问题? 我想知道这个的原因是,我可以通过路径作为我的脚本的参数。 感谢
-----------附加注释
我使用的bash shell。 对不起,我感到困惑。上面的代码有效。真正的问题是当我在变量中加入{}结构时。例如, 当我键入
DIR = ../{TMP1,TMP3} #assign ../{tmp1,tmp3}为一个名为DIR
找到$ {DIR} -name“* TMP变量*“
输出说:没有这样的文件或目录 为什么?
你发布的*应该*的工作。你能给出一个更确切的你输入的命令列表和确切的结果吗?你在使用哪种外壳? – FatalError 2012-03-29 19:09:28
你输入的内容适合我。无论您使用变量extent'$ {dir}'还是字符串'../ tmp',您都应该得到完全相同的输出。你确定在调用这两个命令的方式和方式上没有什么不同吗?两种情况下你的当前工作目录是否相同? – Celada 2012-03-29 19:12:52
你用什么外壳? TCSH?庆典? KSH?可能是bash,但请具体说明。不同的shell有不同的分配变量的方法。 – ghoti 2012-03-29 19:36:10