shell-script — все вопросы

9ответов
355 голосов
Почему лучше использовать «#! /Usr /bin /env NAME» вместо «#! /Path /to /NAME» в качестве моего shebang?
Я заметил, что некоторые скрипты, которые я приобрел у других, имеют shebang #!/path/to/NAME, тогда как другие (используя тот же инструмент, NAME) имеют shebang #!/usr/bin/env NAME. Оба, похоже,
14ответов
329 голосов
В Bash, когда к псевдониму, когда скрипту, а когда писать функцию?
Мне потребовалось почти 10 лет использования Linux, чтобы задать этот вопрос. Это было все пробное и ошибочное и случайное ночное интернет-серфинг. Но для этого людям не нужно 10 лет. Если бы я т
3ответа
290 голосов
Использование â € œ $ {a: -b} â для присвоения переменной в скриптах
Я рассматривал несколько сценариев, написанных другими людьми (в частности, Red Hat), и многие их переменные назначаются с использованием следующей записи VARIABLE1="${VARIABLE1:-some_val}" или неко
23ответа
231 голос
Как я могу получить внешний IP-адрес в сценарии оболочки?
Мне нужно найти внешний IP-адрес из сценария оболочки. В данный момент я использую эту функцию: myip () {     lwp-request -o текст checkip.dyndns.org | awk '{print $ NF}' } Но это зависит от уст
4ответа
224 голоса
Почему мой сценарий оболочки задыхается от пробелов или других специальных символов?
Или вводное руководство для надежной обработки имен файлов и других строк, передаваемых в сценариях оболочки. Я написал сценарий оболочки, который работает хорошо в большинстве случаев. Но он зады
2ответа
222 голоса
Использование 'sed' для поиска и замены [duplicate]
     У этого вопроса уже есть ответ:                   Как заменить строку в файле?                                      7 ответов                                Я знаю, что этот вопрос
3ответа
201 голос
Какие символы мне нужно избегать при использовании sed в сценарии sh?
Возьмите следующий скрипт: #! /Bin /ш sed 's /(127 \ .0 \ .1 \ .1) \ s /\ 1 /' [некоторый файл] Если я попытаюсь запустить это в sh (dash здесь), он будет терпеть неудачу из-за скобок, которые д
7ответов
194 голоса
Как я могу проверить, является ли переменная пустой или содержит только пробелы?
Следующий синтаксис bash проверяет, не является ли param : [[! -z $ param]] Например: пары = "" [[! -z $ param]] & amp; & amp; эхо "Я не ноль" Нет вывода и его штраф. Но когда pa
2ответа
185 голосов
Очистить содержимое файла
Мне известно о трех методах удаления всех записей из файла. Они & GT; имя файла touch filename filename </DEV /нуль Из этих трех я больше всего использую > имя_файла , поско
3ответа
171 голос
Последствия для безопасности, забывающие процитировать переменную в оболочках bash /POSIX
Если вы некоторое время следите за unix.stackexchange.com, вы мы должны надеяться, что теперь будем оставлять переменную unquoted в контексте списка (как в echo $var) в Bourne /POSIX shells (исключе
14ответов
135 голосов
Удалить последний символ строки, используя строковое манипулирование в сценарии оболочки
Я хотел бы удалить последний символ строки, я попробовал этот маленький скрипт: #! /bin/sh t="lkj" t=${t:-2} echo $t но он печатает «lkj», что я делаю неправильно?
7ответов
134 голоса
Как передать аргумент командной строки в сценарий оболочки?
Я знаю, что скрипты оболочки просто запускают команды, как если бы они были выполнены в командной строке. Я хотел бы иметь возможность запускать сценарии оболочки, как если бы они были функциями ...
4ответа
114 голосов
$ VAR vs $ {VAR} и цитировать или не указывать
Я могу написать VAR=$VAR1 VAR=${VAR1} VAR="$VAR1" VAR="${VAR1}" конечный результат для меня все кажется примерно одинаковым. Зачем мне писать то или другое? являются ли какие-либо из них не пер
5ответов
113 голосов
Как создать временный файл в сценарии оболочки?
При запуске скрипта я хочу создать временный файл в каталоге /tmp. После выполнения этого скрипта, который будет очищен этим скриптом. Как это сделать в сценарии оболочки?
10ответов
141 голос
Пакетное преобразование PNG в JPG в Linux
Кто-нибудь знает хороший способ пакетного конвертирования пучков PNG в JPG в Linux? (Я использую Ubuntu). Двоичный файл png2jpg, который я мог бы просто добавить в сценарий оболочки, был бы идеал
5ответов
108 голосов
В чем смысл IFS = $ '\ n' в сценариях bash?
В начале сценария оболочки bash находится следующая строка: IFS=$'\n' В чем смысл этой коллекции символов?
2ответа
104 голоса
Утилиты backticks (т. Е. `Cmd`) в оболочках * sh устарели?
Я видел этот комментарий много раз в Unix & Linux, а также на других сайтах, которые используют фразы «backticks, устарели», относительно оболочек, таких как Bash & Zsh. Является ли это у
3ответа
91 голос
Как я могу выполнить локальный скрипт на удаленном компьютере и включить аргументы?
Я написал сценарий, который отлично работает при локальном выполнении: ./sysMole -time Aug 18 18 Аргументы "- время" , "Авг" , "18" и "18" успешно передаются сценарию. Теперь этот скри
1ответ
90 голосов
Когда требуется двойное цитирование?
В предыдущем совете использовалось двойное цитирование любого выражения, содержащего $VARIABLE, по крайней мере, если бы он хотел, чтобы его интерпретировали оболочкой как один отдельный элемент, ин
3ответа
87 голосов
linux + добавить X дней до даты и получить новую виртуальную дату
У меня есть машина Linux (RH 5.3) Мне нужно добавить /рассчитать 10 дней плюс дата, чтобы потом получить новую дату (срок действия)) например # date Sun Sep 11 07:59:16 IST 2012 Поэтом
1 2 3 4 5

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132