Linux에 스크립트가 있습니다.
#!/bin/bash
export DISPLAY=:1
value=$(</home/pace/Desktop/BODVersion.txt)
cd $value
gnome-terminal \
--tab -t "CTCLManager" -e " sh -c 'sleep 1s; ./startapp CTCLManager' "\
--tab -t "SMM" -e " sh -c 'sleep 10s; ./startapp SMM' "\
--tab -t "ClientCommunicator" -e " sh -c 'sleep 20s; ./startapp ClientCommunicator' "\
--tab -t "GATS" -e " sh -c 'sleep 30s; ./startapp GATS' "\
내 문제는 서버(GUI)에서 이 스크립트를 실행하고 w
CLI에서 동일한 서버에 명령을 실행하면 다음과 같은 출력이 나온다는 것입니다.
[root@demo ~]# w
12:23:27 up 8:22, 10 users, load average: 4.12, 2.92, 1.75
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 192.168.0.100 11:43 0.00s 0.00s 0.00s w
pace pts/1 :1 12:16 6:39 2.38s 0.00s sh -c sleep 1s; ./startapp CTCLManager
pace pts/2 :1 12:16 6:39 0.05s 0.00s sh -c sleep 10s; ./startapp SMM
pace pts/3 :1 12:16 6:39 0.20s 0.00s sh -c sleep 20s; ./startapp ClientCommunicator
pace pts/5 :1 12:16 6:39 12:52 0.00s sh -c sleep 30s; ./startapp GATS
[root@demo ~]#
나는 이것을 에 표시하고 싶지 않습니다 w
. 의 출력에서 내 스크립트를 숨길 수 있도록 도와주세요 w
.
답변1
간단한 스크립트를 고려해 봅시다:
[09:37] [vhost0 ~] # cat script.sh
echo "sleeping..."; sleep 100.
실행하고 두 번째 터미널을 확인하면 다음과 같이 표시됩니다.
[09:37] [vhost0 ~] # w
09:36:42 up 17:20, 2 users, load average: 0.06, 0.03, 0.00
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 192.168.56.1 Wed20 2.00s 0.07s 0.00s sleep 100
root pts/1 192.168.56.1 09:08 0.00s 0.09s 0.01s w
그러나 스크립트를 수정합니다.
[09:40] [vhost0 ~] # cat script.sh
secretcommand() { echo "sleeping..."; sleep 100; }
echo SECRET | secretcommand
조사하다 w
...
[09:36] [vhost0 ~] # w
09:40:40 up 17:24, 3 users, load average: 0.00, 0.00, 0.00
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 192.168.56.1 Wed20 8.00s 0.10s 0.00s bash script.sh
root pts/1 192.168.56.1 09:08 0.00s 0.09s 0.00s w
물론, 우리가 당신의 존재를 완전히 숨겼다는 뜻은 아니지만, 여전히 부모님에게는 당신의 더러운 비밀을 간직하고 있었습니다 ;)
UPD
업데이트된 스크립트는 다음과 같습니다.
#!/bin/bash
export DISPLAY=:1
value=$(</home/pace/Desktop/BODVersion.txt)
cd $value
secretcommand() {
gnome-terminal \
--tab -t "CTCLManager" -e " sh -c 'sleep 1s; ./startapp CTCLManager' "\
--tab -t "SMM" -e " sh -c 'sleep 10s; ./startapp SMM' "\
--tab -t "ClientCommunicator" -e " sh -c 'sleep 20s; ./startapp ClientCommunicator' "\
--tab -t "GATS" -e " sh -c 'sleep 30s; ./startapp GATS' "\;
}
echo SECRET | secretcommand