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

117
Использование оператора неравенства для сравнения строк

Я попытался проверить, PHONE_TYPEсодержит ли переменная одно из трех допустимых значений. if [ "$PHONE_TYPE" != "NORTEL" ] || [ "$PHONE_TYPE" != "NEC" ] || [ "$PHONE_TYPE" != "CISCO" ] then echo "Phone type must be nortel,cisco or nec" exit fi Приведенный выше код не работает для меня, поэтому я...

116
Могу ли я перенаправить вывод в файл журнала и одновременно запустить процесс в фоновом режиме?

Могу ли я перенаправить вывод в файл журнала и одновременно запустить процесс в фоновом режиме? Другими словами, могу ли я сделать что-то подобное? nohup java -jar myProgram.jar 2>&1 > output.log & Или это не законная команда? Или мне нужно вручную переместить его на задний план,...

116
Как я могу выполнить локальный скрипт на удаленной машине и включить аргументы?

Я написал скрипт, который отлично работает при локальном исполнении: ./sysMole -time Aug 18 18 Аргументы «-time» , «Aug» , «18» и «18» успешно передаются в сценарий. Теперь этот сценарий предназначен для выполнения на удаленной машине, но из локального каталога на локальной машине. Пример: ssh...

115
linux + добавь X дней к дате и получи новую виртуальную дату

У меня есть Linux (RH 5.3) машина Мне нужно добавить / рассчитать 10 дней плюс дата, поэтому я получу новую дату (срок годности)) например # date Sun Sep 11 07:59:16 IST 2012 Так что мне нужно получить NEW_expration_DATE = Sun Sep 21 07:59:16 IST 2012 Посоветуйте, пожалуйста, как рассчитать новую...

114
Передача именованных аргументов в сценарии оболочки

Есть ли простой способ передать (получить) именованные параметры в сценарий оболочки? Например, my_script -p_out '/some/path' -arg_1 '5' А внутри my_script.shпринимают их как: # I believe this notation does not work, but is there anything close to it? p_out=$ARGUMENTS['p_out']...

113
Существуют ли соглашения по именованию переменных в сценариях оболочки?

Большинство языков имеют соглашения по именованию переменных, наиболее распространенный стиль, который я вижу в скриптах оболочки MY_VARIABLE=foo. Это соглашение или это только для глобальных переменных? Как насчет переменных, локальных для...

109
Распараллелить Bash FOR Loop

Я пытался распараллелить следующий скрипт, в частности, каждый из трех экземпляров цикла FOR, используя GNU Parallel, но не смог. Четыре команды, содержащиеся в цикле FOR, выполняются последовательно, каждый цикл занимает около 10 минут. #!/bin/bash kar='KAR5' runList='run2 run3 run4' mkdir...

101
Декодирование URL-кодировки (процентное кодирование)

Я хочу расшифровать кодировку URL-адреса, есть ли встроенный инструмент для этого или кто-нибудь может предоставить мне sedкод, который это сделает? Я немного поискал на unix.stackexchange.com и в Интернете, но не смог найти инструмента командной строки для декодирования кодировки URL. Я хочу...

98
«Правильный» способ проверить, работает ли служба в скрипте

Моя проблема: Я пишу сценарий bash, и в нем я хотел бы проверить, работает ли данный сервис. Я знаю, как сделать это вручную, с $ service [service_name] status. Но (особенно после перехода на systemd), который печатает целую кучу текста, который немного беспорядочно анализировать. Я предположил,...

94
Действительно ли скобки помещают команду в подоболочку?

Из того, что я прочитал, размещение команды в скобках должно запускать ее в подоболочке, аналогично запуску скрипта. Если это правда, как он видит переменную x, если x не экспортируется? x=1 Запуск (echo $x)в командной строке приводит к 1 Запуск echo $xв скрипте ничего не дает, как и...

93
Как удалить первые n строк файла ascii с помощью команд оболочки?

У меня есть несколько файлов, которые содержат текстовую информацию ascii в первых 5-10 строках, за которыми следуют хорошо табличные данные матрицы В сценарии оболочки я хочу удалить эти первые несколько строк текста, чтобы я мог использовать информацию чистой матрицы в другой программе. Как я...

92
Комментарии многострочного сценария оболочки - как это работает?

Недавно я наткнулся на многострочный тип комментария, которого я никогда раньше не видел - вот пример сценария: echo a # : aaa : ddd # echo b Кажется, это работает, даже vimсинтаксис подчеркивает это. Как называется этот стиль комментирования и как найти больше информации об...

90
Определить систему инициализации с помощью оболочки

Это может иметь большее отношение к обнаружению операционных систем, но мне особенно нужна система инициализации, используемая в настоящее время в системе. Fedora 15 и Ubuntu теперь используют systemd, Ubuntu раньше использовал Upstart (долгое время по умолчанию до 15.04), в то время как другие...

88
Как сравнить две даты в оболочке?

Как можно сравнить две даты в оболочке? Вот пример того, как я хотел бы использовать это, хотя это не работает как есть: todate=2013-07-18 cond=2013-07-15 if [ $todate -ge $cond ]; then break fi Как мне достичь желаемого...

84
Определите, чист ли рабочий каталог Git из скрипта

У меня есть скрипт, который работает rsyncс рабочим каталогом Git в качестве места назначения. Я хочу, чтобы скрипт работал по-разному в зависимости от того, чистый ли рабочий каталог (без изменений для фиксации) или нет. Например, если вывод git statusтакой, как показано ниже, я хочу, чтобы скрипт...

82
Как ничего не делать вечно элегантным способом?

У меня есть программа, которая производит полезную информацию, stdoutно также читает из stdin. Я хочу перенаправить его стандартный вывод в файл, не предоставляя ничего для стандартного ввода. Пока все хорошо, я могу сделать: program > output и не делай ничего в tty. Однако проблема в том, что я...

81
Что значит иметь в скрипте строку с префиксом $ Dollign?

Я только что видел это в сценарии инициализации: echo $"Stopping Apache" Для чего этот знак доллара? Мои исследования до сих пор: Я нашел это в руководстве по bash: extquote Если установлено, $'string'и $"string"цитирование выполняется внутри ${parameter}расширений, заключенных в двойные кавычки....