我目前整理了一个脚本,将文件从一个目录移动到另一个目录。
这已经好了但是我想知道是否有一种方法可以通过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
有什么想法吗?
答案 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那样你不必每次都要完成添加软链接的任务。
谢谢大家的帮助。
亲切的问候 阿里