获取"未找到命令"在尝试运行shell脚本文件时。文件本身存储在一个目录中,该目录被添加到PATH中,但终端并没有将其识别为shell脚本。
这是我尝试的序列:
tajimura/GAMIT% echo $PATH
/usr/local/bin:/usr/bin:/bin:/user/games:/usr/X11R6/bin:/usr/bin/X11:/usr/lib64/jvm/jre/bin:/home/tajimura/GAMIT/gamit/bin:/home/jaimura/GAMIT/kv/bin:/home/tajimura/GAMIT/com
tajirmura/GAMIT% ls /home/tajimura/GAMIT/com/sh_steup
/home/tajimura/GAMIT/com/sh_setup
tajimura/GAMIT% sh_setup
sh_setup: Command not found.
tajimura/GAMIT% sh sh_setup
sh: sh_setup: No such file or directory
tajimura/GAMIT% l /home/tajimura/GAMIT/com/sh_setup
-rwxr-xr-x 1 tajimura users 11109 Aug 20 2013 /home/tajimura/GAMIT/com/sh_setup
以下是截图:
PS:在这里打开12.1。
补充:我在前4天执行得很好,所以我猜hashbang不是问题。但我不能保证工作站在我的会话之间没有重新启动,所以也许(只是可能)-noexec是原因。但是,脚本位于硬盘上的主目录中,它不是可移动驱动器。
ADDED:sh_setup的前五行:
/home/tajimura% sed 5q /home/tajimura/GAMIT/com/sh_setup
#!/bin/csh -f
#
#doc Check and setup the GAMIT tables directory
#doc
#
答案 0 :(得分:2)
您的脚本要么不可执行(使用指定哈希 - 爆炸线上的破解(不存在)解释器(第一行) chmod +x sh_setup
),要么sh_setup
文件,以#!
开头。
您的sh sh_setup
调用失败,因为它没有使用$PATH
,而且您在错误的目录中。
答案 1 :(得分:0)
我发现了一个意想不到的问题解决方案。如果我用bash而不是csh调用脚本,一切都很好。