第一个脚本叫做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和$()调用第二个脚本无济于事。
答案 0 :(得分:0)
访客帐户的权限存在问题。将脚本重写为守护进程,现在一切正常。