Как я могу открыть новое окно внутри скрипта, ssh другому пользователю и запускать команды?

Я хочу открыть новый терминал с подключением minicom или ssh и запускать команды с другим пользователем в этом новом окне, используя сценарий оболочки. Я попытался внутри сценария оболочки написать следующие команды:

#! /usr/bin/tcsh -f
    set Flag1 = 1  
    while ($Flag1) 
           if ($Flag1)then 
                  `xterm -e /home/Script/First.sh`
                  set Flag1 = 0
           endif 
    end 

The /home/Script/First.sh :

#! /usr/bin/tcsh -f
sudo minicom -D /dev/ttyUSB0
ifconfig eth0 10.120.140.3
ping -w20 10.120.140.1

Первая команда (minicom) сработала, но не продолжилась до остальные.

0
задан 14 January 2020 в 18:37

1 ответ

Чтобы открыть новое окно внутри сценария, вы можете использовать xterm , как вы это сделали. Не рекомендуется использовать команду sudo внутри скрипта.

Итак, вместо запуска сценария First.sh с sudo внутри запустите:

sudo /usr/bin/tcsh

и удалите sudo из minicom в файле ] First.sh .

Кажется, это не так, но бывают ситуации, когда добавление параметра -hold к команде xterm не позволяет сценарию остановить выполнение.

1. Если вы можете использовать ssh , это довольно просто.

ssh -t user@ip 'ifconfig eth0 10.120.140.3; ping -w20 10.120.140.1'

2) Если вам нужно использовать minicom , вы должны сохранить свой скрипт в месте назначения, чтобы разрешить выполнение.

sudo vi First.txt

Вставьте только следующие строки:

ifconfig eth0 10.120.140.3
ping -w20 10.120.140.1

Были ситуации, когда minicon не принимал сценарии оболочки и добавлял ! прежде, чем решить проблему, как объяснено здесь

Затем откройте его 'console-gui' и отправьте по назначению:

sudo minicom -D /dev/ttyUSB0
send atz
send at

Вы должны получить ответ «ОК» в последних двух командах.

Затем запустите свой сценарий с помощью:

minicom -S First.txt
0
ответ дан 25 January 2020 в 23:49

Другие вопросы по тегам:

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