我在UNIX中运行包含以下脚本的.csh文件
#!/bin/tcsh -f
set path = "$1"
find "$path" -name myfolder
并获得以下消息
find: Command not found.
我错过了什么?
由于
答案 0 :(得分:2)
$path
变量很特殊 - 它告诉shell在哪里找到像find
这样的工具。 :-)使用不同的变量名称。
在交互式shell中,您可以通过回显来查看$path
通常的样子。以下是我在FreeBSD服务器上的路径:
ghoti% echo $path
/usr/local/sbin /usr/local/bin /usr/sbin /usr/bin /sbin /bin /home/ghoti/bin /usr/X11R6/bin /usr/games
如果此列表被其他内容替换,例如$1
的内容,则tcsh无法查找/usr/bin
以查找find
:
ghoti% which find
/usr/bin/find
ghoti% set path = "hello world"
ghoti% which find
find: Command not found.
ghoti%