Bash脚本在从终端启动时应该正常工作,但在.bashrc调用时不会

时间:2015-08-27 13:37:07

标签: linux bash shell ubuntu

第一个脚本叫做wa.sh这是代码:

#!/bin/bash
sleep 2
/opt/Citrix/ICAClient/selfservice --icaroot /opt/Citrix/ICAClient

VDI=`pidof wfica | wc -w`
echo $VDI

while [ $VDI -eq 0 ]

do
        sleep 1
        echo "VDI is not running"
        VDI=`pidof wfica | wc -w`

done
echo "gonig to if.sh"
/opt/Scripts/if.sh&

if.sh的内容 - 第二个脚本

#!/bin/bash

VDI=`pidof wfica | wc -w`
echo $VDI
while [ $VDI -eq 1 ]

do
        sleep 1
        echo "Vdi is currently running"
        VDI=`pidof wfica | wc -w`

done
pkill -u $(whoami)

当guest用户登录到ubuntu后,当.bashrc调用第一个脚本时,它不会调用第二个脚本 - if.sh 这背后的逻辑是,当用户登录到访客会话时,自助服务启动并且VDI = 0用户输入正确的凭证并启动他的会话VDI = 1,那时我们需要在VDI再次变为0时开始监视以注销访客会话。 我已经尝试用source,exec和$()调用第二个脚本无济于事。

1 个答案:

答案 0 :(得分:0)

访客帐户的权限存在问题。将脚本重写为守护进程,现在一切正常。