在linux框中,我有2个用户A和B.
用户在以下路径下具有以下脚本 - 这些脚本只能由A运行
/lsa/sas/bnt/start.sh
/lsa/sas/bnt/stop.sh
现在我想在B用户下运行这些命令。 所以我做的是B用户
$pbrun su - A /lsa/sas/bnt/stop.sh
所以这将使用pbrun作为A登录,转到该路径执行stop.sh脚本。
现在运行start.sh,start.sh中的内容是
java -jar bnt.jar > ./logs/start.log
表示在运行jar之后,它会将输出发送到位于(/lsa/sas/bnt/logs/start.log)
下的start.log,这些文件夹已存在于用户A下。
如果我想在A下运行start.sh,我可以进入cd /lsa/sas/bnt/
然后执行start.sh并且工作正常,它将运行jar并将输出重定向到驻留在路径中的日志文件。
但是当我运行与B用户相同的命令时 - 它说
( [B@hostname ~]$ pbrun su - A /lsa/sas/bnt/start.sh
Starting the application...
/lsa/sas/bnt/start.sh: line 10: ./logs/start.log: No such file or directory)
所以这里我们在路径中没有那个logs / start.log?如何在此处包含该文件,以便我可以运行脚本?