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

yaz*_*com 2 linux shell

我在 linux 中用一行编写了一个名为“a.sh”的 shell 脚本:

光盘..

: 然后我运行它:

chmod +x a.sh
sh ./a.sh
Run Code Online (Sandbox Code Playgroud)

:我如何在没有得到的情况下运行它:

“找不到命令”或“无法 cd”。也许我已经看这段代码太久了,或者我做错了什么?

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

Dan*_*n R 6

cd 是您的 shell 的内置程序。任何像 /usr/bin/cd 或 /bin/cd 这样的东西都是出于奇怪的神奇原因。

首先运行这个。

which sh
Run Code Online (Sandbox Code Playgroud)

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

尝试在您的脚本中添加一个shebang。所以整个文件看起来像这样

#!/bin/sh
cd ..
Run Code Online (Sandbox Code Playgroud)

如果这不起作用,请按照 Stefan 的要求澄清您已采取的步骤。以及粘贴确切的错误消息。