Сделать команду watch reevaluate

update-alternatives --install /etc/alternatives/x-session-manager \
  gnome-session-classic /usr/bin/gnome-session-classic 99

Должен сделать свое дело.

0
05.01.2018, 09:42
1 ответ

Вы можете просто -заключить $(...)в кавычки, чтобы предотвратить его расширение интерактивной оболочкой, из которой вы запускаете эту вещь. И затем вам нужно избежать одинарных -кавычек, которые у вас есть внутри, временно переключившись на двойные -кавычки и обратно. Итак, следующие работы:

watch cat /proc/'$(ps ax | grep processname | grep -v grep | awk '"'"'{print $1}'"'"')'/status

Однако, чтобы понять, что делает watch, здесь и вообще, вы должны иметь в виду, что watchначинается с объединения всех аргументов, не являющихся флагами -, в единую командную строку. Это делается для того, чтобы быть «полезным», но я думаю, что на самом деле это контрпродуктивно, поскольку скрывает то, что происходит. Я думаю, что будет чище и легче понять, если вы всегда будете давать ему только одну командную строку, в данном случае одну -в кавычках, чтобы ваша интерактивная оболочка не расширяла что-либо в ней:

watch 'cat /proc/$(ps ax | grep processname | grep -v grep | awk '"'"'{print $1}'"'"')/status'
0
28.01.2020, 02:24

Теги

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