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

Я написал скрипт bash для запуска нескольких команд терминала, это выглядит так

$ launch.bash /path/to/data

И фрагмент выглядит

xterm -hold -geometry 200x20+2+700 -e "python /home/me/doSomething.py --directory $1; echo python /home/me/doSomething.py --directory $1; bash"

Теперь он запустит скрипт python и после его завершения напечатает команду, которую я использовал. Было бы неплохо напечатать команду в самой командной строке, чтобы я мог нажать Enter. Есть ли способ сделать это?

1 ответ1

4

Повторно ввести команду в командной строке нелегко (без эмуляции клавиатуры в программном обеспечении я не знаю другого пути). Что вы можете сделать, это повторно запустить команду, когда вы нажмете ввод:

while true
do
    xterm -hold -geometry 200x20+2+700 -e "python /home/me/doSomething.py --directory $1; echo python /home/me/doSomething.py --directory $1"
    echo "Press enter to run the command again or CTRL+C to cancel"
    read
done

Или вы можете просто нажать ↑, чтобы вернуться к последней выполненной команде, и нажать Enter.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .