Я должен сделать часы две команды в тех же окнах терминала. Я имею в виду что-то как
watch du -h filename.txt && df -h
Но его проявление только одного вывода.
Таким образом, то, что я думаю, может быть не возможный использовать часы для выполнения нескольких команд на том же окне.
Если существует какой-либо путь, сообщите мне.
Спасибо.
Можно заключить команды в кавычки:
watch "du -h filename.txt && df -h"
И они будут выполняться вместе.
Если Вы хотите удостовериться, что обе команды выполняются, один из путей состоит в том, чтобы разделить их с ;
вместо &&
.
watch 'du -h filename.txt; df -h'
&&
позволяет выполнение второй команды (второй операнд, направо от &&
) только если первая команда, выполняемая успешно (статус выхода 0
). Если это - предназначенное поведение, пойдите с &&
.
Чтобы несколько команд работали одновременно, используйте единственный &
оператор между командами. Как:
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
Для пользы полноты...
watch 'du -h filename.txt || true && df -h'
'|| истинная' часть заставляет первую команду оценивать как верная, даже если она перестала работать по некоторым причинам. Это позволит следующей команде после && выполнять, неважно, вывод сначала. Это является, скорее всего, ненужным для сценария, просто показав его, чтобы быть возможным.