Linux shell 脚本中的“cd”返回“未找到命令!”

Linux shell 脚本中的“cd”返回“未找到命令!”

我在 Linux 中编写了一个名为“a.sh”的 shell 脚本,其中只有一行:

光盘 ..

:然后我用以下命令运行它:

chmod +x a.sh
sh ./a.sh

:我该如何运行它而不得到:

“未找到命令”或“无法 cd”。也许我查看此代码的时间太长了,或者我做了一些明显错误的事情??

注意:后来我发现了问题所在。Emacs 在每一行末尾插入了一些奇怪的“^m”字符

答案1

cd 是 shell 的内置命令。/usr/bin/cd 或 /bin/cd 之类的命令存在的意义很奇怪。

首先运行这个。

which sh

这将输出 sh 可执行文件的路径

尝试在脚本中添加一个 shebang。整个文件如下所示

#!/bin/sh
cd ..

如果这不起作用,请按照 Stefan 的要求说明您采取的步骤。并粘贴确切的错误消息。

答案2

如果将 /bin/cd 放在它的位置会怎样?

相关内容