我有使用bash脚本执行各种操作的课程。我一直在尝试使用Vim,因为它建议我使用,但是有一些问题使用它。这是我到目前为止所做的。
#!/bin/bash
echo "Insert command, option, source-file and target-directory"
read com opt sf td
echo "Hello $com $opt $sf $td"
最后的回声线只是测试其余部分是否有效。当我运行脚本时,我收到以下错误。
“/ bin / bash:cso:command not found
shell返回127“
我对bash和vim都相当新,所以如果这是一个愚蠢的问题或一个简单的解决方案,我道歉。任何帮助,将不胜感激。谢谢。
答案 0 :(得分:1)
错误消息
/bin/bash: cso: command not found
表示bash shell无法在cso
中找到名为$PATH
的命令。
您在问题中未提及的是您尝试运行的脚本名为cso
。 (你还错误地引用了问题标题中的错误消息;我已经解决了这个问题。)
当前目录.
通常不在您的$PATH
中 - 并且有充分的理由。 (.
中的$PATH
会产生安全问题。如果问题出现在$PATH
的末尾,那么问题就不那么严重了,但这仍然是一个坏主意。)
要在当前目录中运行脚本,请在其名称前加上./
,这是当前目录的显式相对路径。因此,请键入./cso
而不是cso
。
在评论中,您说通过在vim中键入:!%
来调用它(问题中应该存在的其他内容)。 :!
执行外部命令,%
引用当前文件,因此您正在执行当前正在执行的脚本。请改为输入:!./%
。它将扩展为:!./cso
。