Выключение другого скрипта из скрипта

Ок, извините, я просто понял, что этот вопрос был конкретно о X по ssh или тому подобное. Но поскольку я написал это, я все равно отправлю его. Если вы не хотите просто «пробовать новые вещи», как заданный вопрос, и просто хотите открыть файл на ssh-сервере с помощью gedit. Я лично этого не делал. Но иногда я хотел бы иметь возможность открыть файл в gedit, когда я вхожу на свой сервер через ssh. Вот как я оказался здесь. (и я не нашел ответа на это здесь)

ssh означает, что sftp также доступен. Современные GNU / linux файловые менеджеры поддерживают подключение к серверу sftp, а также открывают и редактируют файлы так же, как они являются локальными (но медленнее по сети)

У меня есть логин с настройкой открытого ключа для обеспечения безопасности и удобства поэтому я могу войти на свой сервер через ssh и sftp без пароля, просто щелкнув закладку, которую я сделал в nautilus:

Файл -> Подключиться к серверу, заполнить ваш сервер ssh / sftp sftp: // user @ 11.11.11.11. Сделать закладку. Дважды щелкните файлы, связанные с gedit (или что-нибудь)

Так вот как я это делаю. Я думаю, что его называемый gvfs и его виртуальная файловая система, что nautilus & amp; совместное использование. Вы можете настроить его для автоматического запуска серверов при загрузке, а затем иметь все доступные каталоги (на консоли), если это необходимо.

1
задан 1 May 2017 в 21:11

4 ответа

Вместо запуска второго скрипта из первого скрипта:

sudo ./Mysql#2

Попробуйте сделать это:

sudo -s source ./Mysql#2

или если вы используете скрипт как root , просто запустите второй скрипт так:

source ./Mysql#2
0
ответ дан 18 July 2018 в 14:01

Прямо вызвать shellscript из другого shellscript, если все скрипты находятся в текущем каталоге, и у них есть разрешения на выполнение.

См. следующий пример.

Сценарий master:

#!/bin/bash echo "*** start master *** assumption: all scripts are in the current directory and they have execute permissions. alternative: create the directory 'bin' in your home directory and move your scripts to there. Then (in any new terminal window) your scripts will be in PATH and can be called without any explicit path" ./sub1 ./sub2 sudo ./sub1 # run with sudo should work too echo "*** finish master ***"

Сценарий sub1:

#!/bin/bash echo "*** start sub1 ***" whoami echo "*** finish sub1 ***"

Сценарий sub2:

#!/bin/bash echo "*** sub2 ***"

Команда и вывод при запуске в качестве user 'sudodus'

$ ./master *** start master *** assumption: all scripts are in the current directory and they have execute permissions. alternative: create the directory 'bin' in your home directory and move your scripts to there. Then (in any new terminal window) your scripts will be in PATH and can be called without any explicit path *** start sub1 *** sudodus *** finish sub1 *** *** sub2 *** [sudo] password for sudodus: *** start sub1 *** root *** finish sub1 *** *** finish master ***
1
ответ дан 18 July 2018 в 14:01

Вместо запуска второго скрипта из первого скрипта:

sudo ./Mysql#2

Попробуйте сделать это:

sudo -s source ./Mysql#2

или если вы используете скрипт как root , просто запустите второй скрипт так:

source ./Mysql#2
0
ответ дан 24 July 2018 в 20:18

Прямо вызвать shellscript из другого shellscript, если все скрипты находятся в текущем каталоге, и у них есть разрешения на выполнение.

См. следующий пример.

Сценарий master:

#!/bin/bash echo "*** start master *** assumption: all scripts are in the current directory and they have execute permissions. alternative: create the directory 'bin' in your home directory and move your scripts to there. Then (in any new terminal window) your scripts will be in PATH and can be called without any explicit path" ./sub1 ./sub2 sudo ./sub1 # run with sudo should work too echo "*** finish master ***"

Сценарий sub1:

#!/bin/bash echo "*** start sub1 ***" whoami echo "*** finish sub1 ***"

Сценарий sub2:

#!/bin/bash echo "*** sub2 ***"

Команда и вывод при запуске в качестве user 'sudodus'

$ ./master *** start master *** assumption: all scripts are in the current directory and they have execute permissions. alternative: create the directory 'bin' in your home directory and move your scripts to there. Then (in any new terminal window) your scripts will be in PATH and can be called without any explicit path *** start sub1 *** sudodus *** finish sub1 *** *** sub2 *** [sudo] password for sudodus: *** start sub1 *** root *** finish sub1 *** *** finish master ***
1
ответ дан 24 July 2018 в 20:18

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

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