Я предполагаю, что вы используете Bash CLI. Есть по крайней мере два способа сделать это, в зависимости от того, сколько вы хотите запланировать заранее.
Если вы наберете команду и введете, а затем решите, что хотите выполнить какую-то другую команду, когда это закончится, вы можете сделать это:
001 $ date; sleep 10
002 Mon, Jan 25, 2016 3:08:35 PM
003 tty; date
004 $ tty; date
005 /dev/pty2
006 Mon, Jan 25, 2016 3:08:45 PM
Заметки:
- Добавлены номера строк («001 ...»)
- Строка 001: две команды выполняются последовательно из-за ; второй - длительный
- Строка 002: немедленный вывод из «даты» в строке 001, для справки
- Строка 003: пользователь вводит дополнительные команды, пока команда «sleep» из строки 001 все еще выполняется, ввод текста повторяется, но не интерпретируется до завершения «sleep»
- Строка 004: появляется подсказка $, отмечающая завершение выполнения второй команды в строке 001, остаток повторяется в строке 003.
- Строка 005: вывод команды 'tty', введенной в строке 003
- Строка 006: вывод команды date введен в строке 003, сравнить со строкой 002
Однако, если вы заранее знаете, что захотите запустить что-то еще после первоначальной команды, но пока не знаете, что, вы можете явно подождать:
006 $ date; sleep 20 &
007 Mon, Jan 25, 2016 3:13:52 PM
008 [1] 504840
009 $ wait 504840; tty; date
010 [1]+ Done sleep 20
011 /dev/pty2
012 Mon, Jan 25, 2016 3:14:12 PM
Заметки:
- Строка 006: «date» для справки, а затем команда «sleep» переносится на задний план с помощью final &
- Строка 007: вывод «date» в строке 006, для справки
- Строка 008: вывод команды & в строке 006 с указанием PID команды sleep
- Строка 009: «wait» будет ожидать завершения процесса с именем PID
- Строка 010: «сон» в строке 006 завершается, затем «tty; дата "будет интерпретироваться
- Строка 011: вывод tty в строке 009
- Строка 012: вывод «date» в строке 009, сравните со строкой 007