использование часов выполняет 2 команды

Я должен сделать часы две команды в тех же окнах терминала. Я имею в виду что-то как

watch du -h filename.txt && df -h

Но его проявление только одного вывода.

Таким образом, то, что я думаю, может быть не возможный использовать часы для выполнения нескольких команд на том же окне.

Если существует какой-либо путь, сообщите мне.

Спасибо.

42
задан 12 March 2015 в 05:37

4 ответа

Можно заключить команды в кавычки:

watch "du -h filename.txt && df -h"

И они будут выполняться вместе.

67
ответ дан 23 November 2019 в 00:02

Если Вы хотите удостовериться, что обе команды выполняются, один из путей состоит в том, чтобы разделить их с ; вместо &&.

watch 'du -h filename.txt; df -h'

&& позволяет выполнение второй команды (второй операнд, направо от &&) только если первая команда, выполняемая успешно (статус выхода 0). Если это - предназначенное поведение, пойдите с &&.

19
ответ дан 23 November 2019 в 00:02

Чтобы несколько команд работали одновременно, используйте единственный & оператор между командами. Как:

dothis & dothat

Для очистки любого беспорядка вот то, как работают различные операторы:

c1 & c2  # Run both commands parallelly
c1 ; c2  # Run both commands one by one
c1 && c2 # Run c2 only if c1 exits successfully
c1 || c2 # Run c2 only if c1 fails
-1
ответ дан 23 November 2019 в 00:02

Для пользы полноты...

 watch 'du -h filename.txt || true && df -h'

'|| истинная' часть заставляет первую команду оценивать как верная, даже если она перестала работать по некоторым причинам. Это позволит следующей команде после && выполнять, неважно, вывод сначала. Это является, скорее всего, ненужным для сценария, просто показав его, чтобы быть возможным.

3
ответ дан 23 November 2019 в 00:02

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

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