Вопросы с тегом «bash»

11
Скрипт Bash, который автоматически убивает процессы, когда загрузка ЦП / памяти становится слишком высокой

Я создал скрипт, который убивает процессы, если загрузка процессора и / или памяти достигает 80%. Он создает список убитых процессов, когда это происходит. Что я могу сделать, чтобы улучшить это? while [ 1 ]; do echo echo checking for run-away process ... CPU_USAGE=$(uptime | cut -d"," -f4 | cut...

11
Скопируйте stdout и stderr в файл журнала и оставьте их на консоли в самом скрипте

Используя bash, как мне скопировать stderr и stdout в файл журнала, а также оставить их отображенными на консоли? Я хотел бы сделать это в самом скрипте, используя exec. Я пробовал с exec &>> log.out echo "This is stdout" echo "This is stderr" >&2 Но вышесказанное ничего не...

11
Как определить из скрипта, когда загружен рабочий стол пользователя?

У меня есть демон, реализованные в Баше и выполняются с помощью cronи @rebootвариантом, который показывает на рабочем столе в бездействии. Сценарий выглядит следующим образом (время для тестирования короткое): #!/bin/bash P_STATE=0 while : do sleep 5 if [ $P_STATE == 0 ]; then [ `xprintidle` -ge...

11
Развернуть subshell перед его выполнением?

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

11
Подождите, пока окно X появится / исчезнет (в здравом смысле)

Внутри сценария оболочки мне нужно дождаться появления окна с заголовком, выполнить какое-либо действие, а затем дождаться его исчезновения и выполнить какое-либо другое действие. До вчерашнего дня у меня был этот простой код. Проблема в том, что диск не может быть переведен в состояние...

11
Bash способ проверить, если процесс уже работает в фоновом режиме (и пропустить повторное выполнение на основании этого)?

Могу ли я создать командную строку bash, которая запускает определенную команду, только если процесс еще не запущен (в фоновом режиме)? Как проверить *, если команда уже запущена? (так что я могу добавить следующую команду с &&промежуточным между ними, чтобы следующая выполнялась, только...

11
Расширение в кавычках и без кавычек

for i in $(xrandr); do echo "$i" ; done for i in "$(xrandr)"; do echo "$i"; done for i in "$(xrandr)"; do echo $i; done Я понимаю, почему 1 отличается от 2. Но почему 3 дает отличный результат от 2? Пожалуйста, объясните вывод тоже. Как цитаты работают на новых...

11
Как ввести / начать новую строку в терминале bash?

Я заметил, что некоторые примеры bash for loop распределены по нескольким строкам в примерах for VARIABLE in file1 file2 file3 do command1 on $VARIABLE command2 commandN done (например, здесь http://www.cyberciti.biz/faq/bash-for-loop/ ) Как ввести новую строку в терминале bash (я использую putty)?...

11
Предотвратить мигание текста / экрана при выполнении очистки

Мой сценарий делает что-то вроде: while :; clear do_a_lot_of_output_here sleep 1 done Есть ли варианты, чтобы экран не мигал, когда я делаю очистку и вывод? Я хочу сделать это как в watchкоманде (но это написано в C). Любые советы? clear | hexdump -C 00000000 1b 5b 48 1b 5b 32 4a |.[H.[2J| 00000007...

11
Заставить Bash использовать Perl RegEx Engine

Как вы, возможно, уже знаете, многие функции, поддерживаемые современными механизмами RegEx (обратные ссылки, обходные утверждения и т. Д.), Не поддерживаются механизмом Bash RegEx. Ниже приведен простой скрипт Bash, который я только что создал, чтобы попытаться объяснить, какова моя конечная цель:...

11
Сохранять (или восстанавливать) права доступа к файлу при замене файла

У меня есть команда, которая принимает файл в качестве аргумента, изменяет файл, а затем записывает его в имя файла, указанное во втором аргументе. Я позвоню этой программе modifyfile. Я хотел, чтобы он работал «на месте», поэтому я написал сценарий оболочки (bash), который изменяет его во...

11
Условное присвоение на основе переменной среды

В скрипте bash я назначаю локальную переменную так, чтобы ее значение зависело от внешней глобальной переменной среды ( $MYAPP_ENV). if [ "$MYAPP_ENV" == "PROD" ] then SERVER_LOGIN=foobar123@prod.example.com else SERVER_LOGIN=foobar987@test.example.com fi Есть ли более короткий (но чистый) способ...

11
Как называется функция оболочки `> (tee copyError.txt> & 2)`?

Мне нужно войти в stdout и stderr в лог-файлы, но только отображать сообщения об ошибках на экране. Я могу сделать это с: cp -rpv a/* b 1> copyLog.txt 2> >(tee copyError.txt >&2) Который я нашел где-то в сети. Я просто хочу знать, как эта >(tee copyError.txt >&2)вещь...

11
Сон до следующего появления определенного времени

Мне нужна серия команд или одна команда, которая спит, пока не произойдет следующее вхождение определенного времени, например «4:00». Как бы я это сделал? Команда atили cronjob не вариант, потому что я не должен оставлять сценарий, в котором я сейчас нахожусь. Конкретный случай, о котором я говорю,...

11
bash: некоторые проблемы при использовании read <<< «$ VARIABLE» в корневом разделе только для чтения. Любые известные обходные пути?

Просто по стечению обстоятельств мне пришлось использовать свой скрипт ATA-ID-имя-устройства (находится здесь: /server/244944/linux-ata-errors-translating-to-a-device-name/ 426561 # 426561 ) в разделе только для чтения/ . Если вам интересно, это была консоль восстановления Ubuntu, которая позволит...

11
Почему подстановка процесса <() не работает с ssh -F

У меня есть несколько бродячих виртуальных машин. Чтобы войти в них я выдаю vagrant sshкоманду. Я хочу войти в них с помощью обычной sshкоманды. vagrant ssh-configВыводит соответствующий конфигурационный файл $ vagrant ssh-config Host default HostName 127.0.0.1 User vagrant Port 2201...

11
Каков наиболее эффективный способ перемещения большого количества файлов, находящихся в одном каталоге?

CentOS 5.x Я прошу прощения, если это повторный вопрос. Я видел много похожих вопросов (относительно удаления файлов), но не совсем по тому же сценарию. У меня есть каталог, содержащий сотни тысяч файлов (возможно, более миллиона), и в качестве краткосрочного решения другой проблемы мне нужно...

11
Получение PID команды ранее в Pipeline

Я пишу сценарий bash, чтобы использовать его inotifywaitдля мониторинга каталога и запуска действий при обнаружении изменений. Что-то типа: inotifywait -m ... | while read f; do something; done Так inotifywaitкак сам по себе не завершается, этот скрипт не остановится. Поэтому я планировал получить...

11
Передать функцию другому пользователю в Bash?

Можно ли как-то передать функцию от одного пользователя другому? Например, у меня есть небольшой скрипт Bash, который я выполняю как Root: #!/bin/bash user_func(){ whoami exit } su vagrant -c 'user_func' Однако функция user_func не определена для пользователя Vagrant, только для Root, и не может...