在 bash 脚本中更改目录

在 bash 脚本中更改目录

我有以下脚本:

cd "/usr/local/bin/"     
/sbin/startproc ./program1

我在目录中有一个许可证/usr/local/bin,如果程序不从那里启动,它将无法正确启动。

cd "/usr/local/bin"似乎没有起到什么作用。

答案1

一睹为快startproc 的手册页,看起来它需要完整路径。

您是否尝试过使用 cd 并指定完整目录,就像这样?

cd /usr/local/bin
startproc /usr/local/bin/program1

我随后要做的一件事是在 startproc 行之后立即添加以下行;

echo -e "exit code is $?"

根据程序的退出代码列表,这可以告诉您 startproc 引发了什么错误以及可能存在什么问题:

0 成功
1 一般或未指定的错误
2 参数无效或过多
4 权限不足
5 程序未安装
7 程序未运行

如果完整路径不起作用,这应该可以让您更好地了解发生了什么。

答案2

您没有说明您在哪种系统上执行此操作,但通常名为 的实用程序startproc会自行进行设置 — 通常包括设置默认目录。我建议您查找系统文档startproc并了解如何使其执行您需要的操作,或者如果失败,则使用startproc更改目录的脚本。

相关内容