gpt4 book ai didi

linux - 使用别名执行脚本

转载 作者:太空狗 更新时间:2023-10-29 11:19:48 24 4
gpt4 key购买 nike

我正在尝试创建一个将执行脚本的别名。当我进入脚本所在的目录时...让我们说/usr/local/bin/startscript 然后脚本按预期运行并启动我想要的应用程序。

所以。我进入我的 bashrc 文件并添加了一个别名别名 startscript='/usr/local/bin/startscript'

目标是能够通过从任何目录简单地键入“startscript”来运行脚本。

但是,当我尝试使用别名运行脚本时,它无法正常工作,因为应该启动的应用程序却没有启动。

我的脚本开始于

#!/bin/sh

然后从那里开始

有什么想法吗?谢谢

脚本:

#!/bin/sh

#- Check for user 'user'
if [[ "`whoami`" != "user" ]]; then
echo "This script can only be executed by user 'user'."; exit
fi

. /usr/local/bin/etctrx/startscriptdirectory/startscriptsetup

#- Kill manager to avoid multiple processes
pkill -f 'JavaApp.jar'

#- Start
nohup java -classpath /usr/local/bin/etctrx/startscriptdirectory/RequiredJars/ojdbc5.jar:/usr/local/bin/etctrx/startscriptdirectory/RequiredJars/activation.jar:/usr/local/bin/etctrx/startscriptdirectory/RequiredJars/mail.jar -jar /usr/local/bin/etctrx/startscriptdirectory/JavaApp.jar > ${JAVAAPPLOGS}/startscript.log 2>&1 &

最佳答案

如果脚本在/usr/local/bin 中通过简单地键入 startscript 按预期运行,但脚本从另一个目录运行(不返回错误),但不产生想要的结果,那么问题在于您如何从脚本中引用应用程序。

正如其他人所指出的,您不需要为 /usr/local/bin 中的某些内容设置别名,如果它从该目录运行,显然您的可执行权限也是正确的。如果您尝试运行的应用程序也在 /usr/local/bin 中,那么您的脚本可能会假定它在同一目录中,而其他地方不会是这种情况,因此您需要在脚本中将 cd 添加到 /usr/local/bin 或指定完整的应用程序路径。

关于linux - 使用别名执行脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14407873/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com