使shell脚本更改脚本位置

时间:2017-08-07 08:31:04

标签: bash shell

我目前整理了一个脚本,将文件从一个目录移动到另一个目录。

这已经好了但是我想知道是否有一种方法可以通过shell脚本让它从服务器上的任何地方运行,例如我给脚本供别人在他们的服务器上使用,他们可以将脚本放在任何地方它会运行。

我知道一个解决方法是将脚本放在/ usr / local / bin或usr / bin中,你可以从任何地方运行它,但这不是我想要的。

有没有办法让我的脚本从usr / local / bin自动运行,无论它是否在/ scripts中?

请参阅下面的脚本:

#!/bin/sh -x
mkdir -p /var/Alitest
echo "This is a test that I have created. This is to
 see if the output is successful I normally do this manually but a script is required" > /var/Alitest/action.txt
sed -i 's/This is a test that I have created/The test has been successful/g' /var/Alitest/action.txt
chmod 744 /var/Alitest/action.txt
chown root:root Alitest/action.txt
mv /var/Alitest/action.txt /script/action.txt

非常感谢任何帮助:)

同样在脚本的日志输出中显示以下错误:

sed: 1: "/var/Alitest/action.txt": invalid command code A

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

您可以在/ usr / local / bin中为您的脚本创建一个软链接。然后它将在每个人的道路上被执行。

e.g。 ln -s /script/yourscript.sh /usr/local/bin/yourscript.sh

答案 1 :(得分:0)

在进一步审查此事后,我决定采取最佳行动方式,即将文件夹目的地/例如脚本添加到我的路径中。

这可以通过浏览服务器上的.bashrc文件并添加以下行来完成:

export PATH = / dir_name:$ PATH

请记住刷新配置文件以使更改生效。

您可以通过运行以下命令来检查是否成功:

echo $ PATH

没有办法让你的脚本执行此操作,但这比软链接更好,就好像你将它添加到$ PATH那样你不必每次都要完成添加软链接的任务。

谢谢大家的帮助。

亲切的问候 阿里