Я использую Ubuntu 16.04.2, у меня есть значок на моем рабочем столе, который связывается со сценарием в моем $HOME/bin
каталог. Этот сценарий использует два сценария в $HOME/bin
каталог. Это открывает терминал и печатает выходной сценарий один. Затем это открывает второй терминал и печатает вывод сценария два.
Я хотел бы, чтобы это распечатало все данные ко всего одному терминалу. Конечный продукт должен быть то, что, когда я нажимаю свой значок на рабочем столе, все данные будут распечатаны ко всего одному терминалу.
Большое спасибо за Ваши предложения
#!/bin/bash
gnome-terminal -e "bash -c $HOME/bin/bin_old/bk_up;bash" && gnome-terminal -e "bash -c $HOME/bin/bin_old/win_bkp;bash"
Со значительной справкой от Ricardo Rodrigues. Вот решение, которое лучше всего удовлетворяет тому, чего я пытаюсь достигнуть. Если первая часть кода будет успешна затем, то вторая часть кода выполнится. Если это не будет успешно затем, то окно терминала откроет сообщение мне, где найти детали ошибок. Если вторая часть кода будет успешна затем, то я буду знать наверняка, что моя система была сохранена локально и также поддержана до удаленной системы и затем завершает работу локально. Однако, если будут ошибки, то это откроет окно терминала и скажет мне, где найти детали ошибок. Поскольку Вы видите, что я бросил пытаться иметь все дисплей в единственном раскрывающемся окне терминала. Это, кажется, сохраняет это простым для меня. Теперь, когда я нажимаю свой значок на рабочем столе или система скопирует к локальной и удаленной системе и затем закроется, или я получу сообщение об ошибке во всплывающем терминале.
#!/bin/bash
if bk_up 2> $HOME/local_errors # backup to local directory
then
if win_bkp 2> $HOME/remote_errors # backup to remote system
then
shutdown now
exit
else
echo "echo Remote errors. Check remote_errors file" > $HOME/warn2
chmod ugo+x $HOME/warn2 # needs to be executable for gnome-termial to work.
gnome-terminal -e "bash -c $HOME/warn2;bash"
exit
fi
else
echo "echo Local errors. Check local_errors file" > $HOME/warn1
chmod ugo+x $HOME/warn1 # need to be executable for gnome-terminal to work.
gnome-terminal -e "bash -c $HOME/warn1;bash"
exit
exit
fi
Вместо того, чтобы открыть второй терминал гнома просто выполняют две команды в первой.
#!/bin/bash
gnome-terminal -e "bash -c $HOME/bin/bin_old/bk_up;$HOME/bin/bin_old/win_bkp;bash"
РЕДАКТИРОВАНИЕ
Из того, что был обсужден в комментариях, что хочет Richard, является чем-то вроде этого:
#!/bin/bash
$HOME/bin/bin_old/bk_up
if [ $? -eq 0 ]; then
$HOME/bin/bin_old/win_bkp
fi
В основном это запускает первый скрипт и если выполнения успешно (не возвращая ошибки) это запускает второй скрипт.