Как скрыть скрипт из списка процессов в Linux?

Проблема здесь в том, что sudoeditкопирует файл во временный файл, прежде чем открывать его в редакторе. Когда файл имеет расширение, временный файл создается с тем же расширением, и режимы подсветки синтаксиса на основе имени файла -выбираются соответствующим образом (, например. для файлов C ). Когда файл не имеет расширения, как в случае с nanorc, он создается со случайным расширением; это сбивает с толку выбор режима подсветки синтаксиса на основе имени файла -, а nanoприводит к тому, что файл обрабатывается как стандартный текстовый файл.

Если вы сможете перенастроить nanoдля обработки любого файла nanorc*как файла конфигурации, вы сможете восстановить требуемое поведение. В противном случае я не уверен, что есть способ справиться с этим автоматически.

0
14.06.2019, 12:13
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

Конечно, это не значит, что мы полностью скрываем ваше присутствие от глаз, но тем не менее, это скрывает ваши грязные секреты от ваших родителей;)

УПД

Вот как должен выглядеть обновленный скрипт:

#!/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
1
28.01.2020, 02:40

Теги

Похожие вопросы