Вопросы с тегом «shell-script»

32
getopt, getopts или ручной синтаксический анализ - что использовать, когда я хочу поддерживать как короткие, так и длинные опции?

В настоящее время я пишу скрипт Bash, который имеет следующие требования: он должен работать на самых разных платформах Unix / Linux он должен поддерживать как короткие, так и (GNU) длинные опции Я знаю, что это getoptsбыло бы предпочтительным способом с точки зрения мобильности, но AFAIK это не...

31
В чем разница между kill, pkill и killall

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

30
Есть ли оболочка JavaScript?

В последнее время я работаю с JS, и мне очень нравится этот язык. Я знаю, что есть node.js для запуска JS на стороне сервера, но есть ли оболочка, которая использует JS в качестве языка сценариев? Если такая вещь существует, насколько она полезна и...

30
Как назначить вывод cat скрипта bash переменной в другом скрипте

У меня есть скрипт bash, который выдает вывод cat, когда он принимает аргумент. У меня также есть другой скрипт bash, который выполняет первый скрипт bash с аргументом, с помощью которого я хочу создать вывод cat Как мне сохранить выходные данные cat, созданные первым скриптом bash, в...

30
Проверьте, находится ли $ REPLY в диапазоне чисел

Я пишу сценарий оболочки для Linux, используя Bash, для перевода любого видео-файла в MP4. Для этого я использую avconvс libvorbisаудио. Внутри моего скрипта у меня есть вопрос для пользователя: read -p "- Audio Quality [scale from -2 to 10] ? " if [ -n "$REPLY" ] ; then ABITRATE="-aq $REPLY" fi...

30
Почему set -e не работает внутри подоболочек с круглой скобкой (), за которой следует список ИЛИ ||?

Я недавно столкнулся с некоторыми сценариями, как это: ( set -e ; do-stuff; do-more-stuff; ) || echo failed Это выглядит хорошо для меня, но это не работает! set -eНе применяется, когда вы добавляете ||. Без этого все работает нормально: $ ( set -e; false; echo passed; ); echo $? 1 Однако, если я...

30
Trap, ERR и отображение строки ошибки

Я пытаюсь создать несколько отчетов об ошибках, используя Trap для вызова функции по всем ошибкам: Trap "_func" ERR Можно ли узнать, с какой линии был отправлен сигнал ERR? Оболочка Баш. Если я это сделаю, я смогу прочитать и сообщить, какая команда использовалась, и записать / выполнить некоторые...

30
Если я выполню sudo файл сценария Bash, все ли команды внутри сценария Bash также будут выполнены как sudo?

Я хочу написать автоматический скрипт после установки в Bash (называется post-install.sh, например). Скрипт автоматически добавляет и обновляет репозитории, устанавливает и обновляет пакеты, редактирует файлы конфигурации и т. Д. Теперь, если я выполню этот скрипт, например, с помощью sudo...

30
Как эффективно генерировать большие, равномерно распределенные, случайные целые числа в bash?

Мне было интересно, что было бы лучшим способом получить хорошую случайность в bash, то есть, что было бы процедурой для получения случайного положительного целого числа между MINи MAXтаким, что Диапазон может быть сколь угодно большим (или, по крайней мере, скажем, до 2 32 с -1); Значения...

30
SSH вызывает остановку цикла

Мне наконец удалось свести проблему, с которой я боролся в течение нескольких недель. Я использую SSH с «авторизованными ключами» для удаленного запуска команд. Все хорошо, кроме случаев, когда я делаю это в цикле. Цикл завершается после завершения любой итерации с помощью команды ssh. Долгое время...

30
скрипт выхода из подоболочки

Рассмотрим этот фрагмент: stop () { echo "${1}" 1>&2 exit 1 } func () { if false; then echo "foo" else stop "something went wrong" fi } Обычно, когда funcвызывается, сценарий завершается, что является предполагаемым поведением. Тем не менее, если он выполняется в под-оболочке, например, в...

29
Проверьте, существуют ли файлы, соответствующие шаблону, чтобы выполнить скрипт

Я пытаюсь написать ifзаявление, чтобы проверить, есть ли какие-либо файлы, соответствующие определенному шаблону. Если в каталоге есть текстовый файл, он должен запустить данный скрипт. Мой код в настоящее время: if [ -f /*.txt ]; then ./script fi Пожалуйста, дайте несколько идей; Я хочу запустить...

29
Как сделать временный файл в оперативной памяти?

У меня есть скрипт, который будет передавать его вывод |tee scriptnameYYMMDD.txt. После каждого цикла цикла for, в котором генерируется вывод, я буду поменять содержимое файла tac scriptnameYYYYMMDD.txt > /var/www/html/logs/scriptname.txtтак, чтобы вывод журнала был виден в окне браузера с...

29
Портативный способ получить абсолютный путь скрипта?

Что такое переносимый способ для (zsh) сценария определить его абсолютный путь? В Linux я использую что-то вроде mypath=$(readlink -f $0) ... но это не портативно. (Например, readlinkДарвин не распознает -fфлаг и не имеет никакого эквивалента.) (Кроме того, использование readlinkдля этого, по...

29
Могут ли случаи с bash каскадными?

Я пытаюсь сделать что-то вроде этого: case $level in 3) echo "Level Three" 2) echo "Level Two" 1) echo "Level one" ;; esac где, если $ level = 3, это вывело бы Level Three Level Two Level One в то время как если бы $ level = 1, он вывел бы только Level One Но когда я пробую это, я получаю ошибку,...

29
Использование sed для окраски вывода команды на солярисе

У меня есть скрипт ksh, который должен работать как на Linux, так и на Solaris. Я пытаюсь раскрасить вывод определенных команд. Он работает на Linux (в частности, RHEL6), но не на Solaris (SunOS 5.10). Команда на Linux (вывод «test» правильно окрашен красным): [amartin@linuxbox:~]$ echo "test" |...