在Ubuntu系统上使用Vim中的Bash时遇到问题。 “/ bin / bash:cso:命令未找到,shell返回127”

时间:2018-04-13 17:32:22

标签: bash vim

我有使用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“

Image of error encountered

我对bash和vim都相当新,所以如果这是一个愚蠢的问题或一个简单的解决方案,我道歉。任何帮助,将不胜感激。谢谢。

1 个答案:

答案 0 :(得分:1)

错误消息

/bin/bash: cso: command not found

表示bash shell无法在cso中找到名为$PATH的命令。

您在问题中未提及的是您尝试运行的脚本名为cso。 (你还错误地引用了问题标题中的错误消息;我已经解决了这个问题。)

当前目录.通常不在您的$PATH中 - 并且有充分的理由。 (.中的$PATH会产生安全问题。如果问题出现在$PATH的末尾,那么问题就不那么严重了,但这仍然是一个坏主意。)

要在当前目录中运行脚本,请在其名称前加上./,这是当前目录的显式相对路径。因此,请键入./cso而不是cso

在评论中,您说通过在vim中键入:!%来调用它(问题中应该存在的其他内容)。 :!执行外部命令,%引用当前文件,因此您正在执行当前正在执行的脚本。请改为输入:!./%。它将扩展为:!./cso