Моя проблема с grep заключается в том, что это синтаксический анализатор целых строк. В вашем примере вы ищете «abc», но он возвращает экземпляр grep (который ищет «abc»). Немного круговое. Вы можете отфильтровать это, но я нахожу все, что немного извращено.
Я немного обратился к awk.
ps aux | awk '$12=="abc.sh"'
awk разбивает строки на поля на основе пробелов (по умолчанию). Поля $ 11 + являются столбцами команд, поэтому если команда «sh abc.sh ...», $11 будет sh, а $12 будет abc.sh.
Если вы хотите контролировать вывод или цепочку с помощью операторов && и || Bash, вы можете, но вам нужно быть немного умнее. grep выйдет со статусом 1 (технический сбой, триггеры ||), если ничего не найдено, но awk всегда выйдет из кода 0. Мы можем изменить это, сказав ему выйти, если он что-то найдет, и выбросить 1, если это не:
ps aux | awk '$12=="abc.sh" {exit 0} END{exit 1}' && echo running || echo not running
Конечно, если вы просто заботитесь о записи вывода на экран, вы можете сделать это все в awk:
ps aux | awk '$12=="abc.sh" {print "running"; exit} END{print "not running"}'
С помощью budgie-desktop v10.3 возможность переключения оконных кнопок встроена в Raven:
Для 16.04 и 16.10 пользователи budgie-desktop v10.3 доступны через обычный механизм обновлений.
Для пользователей 17.04, откройте budgie-welcome, включите «backports» в рекомендуемом программном обеспечении, а затем рабочий стол будет обновлен через нормальный механизм обновления.
Альтернативно:
sudo add-apt-repository ppa:ubuntubudgie/backports
sudo apt update && sudo apt dist-upgrade
С помощью budgie-desktop v10.3 возможность переключения оконных кнопок встроена в Raven:
Для 16.04 и 16.10 пользователи budgie-desktop v10.3 доступны через обычный механизм обновлений.
Для пользователей 17.04, откройте budgie-welcome, включите «backports» в рекомендуемом программном обеспечении, а затем рабочий стол будет обновлен через нормальный механизм обновления.
Альтернативно:
sudo add-apt-repository ppa:ubuntubudgie/backports
sudo apt update && sudo apt dist-upgrade
С помощью budgie-desktop v10.3 возможность переключения оконных кнопок встроена в Raven:
Для 16.04 и 16.10 пользователи budgie-desktop v10.3 доступны через обычный механизм обновлений.
Для пользователей 17.04, откройте budgie-welcome, включите «backports» в рекомендуемом программном обеспечении, а затем рабочий стол будет обновлен через нормальный механизм обновления.
Альтернативно:
sudo add-apt-repository ppa:ubuntubudgie/backports
sudo apt update && sudo apt dist-upgrade
С помощью budgie-desktop v10.3 возможность переключения оконных кнопок встроена в Raven:
Для 16.04 и 16.10 пользователи budgie-desktop v10.3 доступны через обычный механизм обновлений.
Для пользователей 17.04, откройте budgie-welcome, включите «backports» в рекомендуемом программном обеспечении, а затем рабочий стол будет обновлен через нормальный механизм обновления.
Альтернативно:
sudo add-apt-repository ppa:ubuntubudgie/backports
sudo apt update && sudo apt dist-upgrade
С помощью budgie-desktop v10.3 возможность переключения оконных кнопок встроена в Raven:
Для 16.04 и 16.10 пользователи budgie-desktop v10.3 доступны через обычный механизм обновлений.
Для пользователей 17.04, откройте budgie-welcome, включите «backports» в рекомендуемом программном обеспечении, а затем рабочий стол будет обновлен через нормальный механизм обновления.
Альтернативно:
sudo add-apt-repository ppa:ubuntubudgie/backports
sudo apt update && sudo apt dist-upgrade
В соответствии с этим должно работать следующее:
Сначала создайте резервные копии текущих настроек:
gsettings get org.gnome.settings-daemon.plugins.xsettings overrides
Затем для приложений с заголовочными панелями («декорации на стороне клиента»):
gsettings set org.gnome.settings-daemon.plugins.xsettings overrides "{'Gtk/ShellShowsAppMenu': <0>, 'Gtk/DecorationLayout': <'close,minimize,maximize,menu:'>}"
и для тех, у кого нет:
gsettings set com.solus-project.budgie-wm button-layout 'close,maximize,minimize,appmenu:'
В соответствии с этим должно работать следующее:
Сначала создайте резервные копии текущих настроек:
gsettings get org.gnome.settings-daemon.plugins.xsettings overrides
Затем для приложений с заголовочными панелями («декорации на стороне клиента»):
gsettings set org.gnome.settings-daemon.plugins.xsettings overrides "{'Gtk/ShellShowsAppMenu': <0>, 'Gtk/DecorationLayout': <'close,minimize,maximize,menu:'>}"
и для тех, у кого нет:
gsettings set com.solus-project.budgie-wm button-layout 'close,maximize,minimize,appmenu:'
в соответствии с этим, следующее должно работать.
во-первых, резервное копирование текущих настроек:
gsettings get org.gnome.settings-daemon.plugins.xsettings overrides
тогда, для приложений с headerbars ("клиентские декорации"):
gsettings set org.gnome.settings-daemon.plugins.xsettings overrides "{'Gtk/ShellShowsAppMenu': <0>, 'Gtk/DecorationLayout': <'close,minimize,maximize,menu:'>}"
и для тех, кто без них:
gsettings set com.solus-project.budgie-wm button-layout 'close,maximize,minimize,appmenu:'
В соответствии с этим должно работать следующее:
Сначала создайте резервные копии текущих настроек:
gsettings get org.gnome.settings-daemon.plugins.xsettings overrides
Затем для приложений с заголовочными панелями («декорации на стороне клиента»):
gsettings set org.gnome.settings-daemon.plugins.xsettings overrides "{'Gtk/ShellShowsAppMenu': <0>, 'Gtk/DecorationLayout': <'close,minimize,maximize,menu:'>}"
и для тех, у кого нет:
gsettings set com.solus-project.budgie-wm button-layout 'close,maximize,minimize,appmenu:'
В соответствии с этим должно работать следующее:
Сначала создайте резервные копии текущих настроек:
gsettings get org.gnome.settings-daemon.plugins.xsettings overrides
Затем для приложений с заголовочными панелями («декорации на стороне клиента»):
gsettings set org.gnome.settings-daemon.plugins.xsettings overrides "{'Gtk/ShellShowsAppMenu': <0>, 'Gtk/DecorationLayout': <'close,minimize,maximize,menu:'>}"
и для тех, у кого нет:
gsettings set com.solus-project.budgie-wm button-layout 'close,maximize,minimize,appmenu:'