linux - 即使路径正确,shell 脚本 cd 也会失败

标签 linux bash shell centos cd

我需要做一个脚本来在指定位置提取 tar。

我做了一些简单的事情,比如:

cp test.tar /var/www/html
cd /var/www/html
tar xvf test.tar

如果我手动执行命令,一切正常。如果我将它们保存在 .sh 中然后使用#bash script.sh,我会收到以下错误“:不是目录 cd:/var/www/html”。知道为什么吗?

请稍等。

注意:我在虚拟机(CentOS 5.5)上尝试了脚本版本并且脚本运行良好,问题出现在我想要使用它的真实机器上(我使用相同的操作系统磁盘镜像,相同的配置虚拟机...这对我来说真的很奇怪)。

补充:我也尝试调用 service mysqld start 之类的东西...这也没有说明目录不存在(如果我手动运行它仍然有效。)。

最佳答案

我解决了这个问题 - 这很有趣)。

我是在一个虚拟机上创建的脚本,该虚拟机运行在带有 centos 操作系统的 windows 上,在 windows 中输入是“\r\n”,而在 linux 中输入是“\n”。

该脚本在 vm 上运行,因为输入代码是正确的,而在第二台计算机上,使用 native linux 它是不正确的。我在 Linux 上创建了完全相同的脚本,一切都恢复正常 2;)。

注意...mkdir 部分起作用是因为我使用了另一个在 Linux 上编写的简化脚本。

关于linux - 即使路径正确,shell 脚本 cd 也会失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6680810/

相关文章:

linux - 关于在 linux shell 脚本中打印格式化的日期时间

linux - 查找不递归查找

bash - 使用 bash 命令作为参数启动 msys mingw32 shell

c++ - rpc server 返回结果 char 会得到 segment fault

linux - 使用 XenServer 内的 CentOS 5 无法解析主机名但 IP 地址的问题

git - 尝试推送到 GitHub,现在收到 'fatal: bad default revision'

windows - 在 BASH windows 上默认设置一个目录

linux - Azure 云初始化 : Failed to install packages

linux - 在 IP 末尾检测 0,最后一个八进制/bash

bash - 应用程序编写的 Heroku 文件在 bash 中不可见