Как передать аргументы в скрипте используя gnome-терминал

Как часть скрипта, у меня есть

gnome-terminal -e "process involving another user"

После того, как я выполнил эту строку, мне нужно в терминале 3 раза ввести пароль этого пользователя. Интересно, как мне это автоматизировать, то есть без ввода пароля. Что-то вроде

echo "password" (3 times) | gnome-terminal -e "process involving another user"

Спасибо @ rao_555, но, боюсь, все не так просто. Я использую команду

gnome-terminal --working-directory="/var/singlecellserver/single-cell-server" \
    -e "sage -python trusted_db.py -w 50 --untrusted-account untrusted@localhost" &

Итак, я не хочу передавать аргументы в sage -python .... После запуска sage -python ... мне нужно 3 раза дать ненадежный пароль. Я пытался

gnome-terminal --working-directory="/var/singlecellserver/single-cell-server" \
    -x sage -python trusted_db.py -w 50 --untrusted-account untrusted@localhost $1 $1 $1 &

, но безуспешно.

решено

Проблема была связана с sudo и ssh. Поскольку необходимо запустить процесс как su, доступ через ssh к ненадежной учетной записи требует также клавиш ssh в корневой папке.

2
задан 27 December 2011 в 21:17

2 ответа

создайте сценарий оболочки и поместите в него свои команды, передайте пароль только один раз в качестве аргумента, а внутри сценария используйте $ 1, чтобы получить ваш пароль,

используйте $ 1, чтобы получить свой пароль, где бы вы ни находились внутри вашего сценарий.

0
ответ дан 27 December 2011 в 21:17

Вы можете использовать expect

См. http://www.linuxjournal.com/article/3065

. нужна помощь.

0
ответ дан 27 December 2011 в 21:17

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

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