在csh脚本文件中使用“find”

时间:2016-04-12 12:17:19

标签: unix csh tcsh

我在UNIX中运行包含以下脚本的.csh文件

#!/bin/tcsh -f
set path = "$1"
find "$path" -name myfolder

并获得以下消息

find: Command not found.

我错过了什么?

由于

1 个答案:

答案 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%