Tag: shell script

Дифференцирование между запуском и получением источника в сценарии оболочки bash?

Либо то, что я прошу здесь, это крайне неортодоксально / нетрадиционно / рискованно, или мои навыки Google-фу просто не в состоянии понюхать … В сценарии оболочки bash есть ли какой-либо простой способ сказать, получает ли он другой сценарий оболочки или запускается сам по себе? Другими словами, можно ли различать следующие два поведения? # from another […]

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

Существуют ли встроенные инструменты, которые будут распознавать -x и –xxxx как переключатели, а не аргументы, или вам нужно пройти через все входные переменные, проверить тире и затем проанализировать аргументы после этого?

Почему эти бомбы вилки-ракеты работают по-разному, и каково значение & в ней?

Я получаю, как работает обычная бомба-вилка, но я не совсем понимаю, почему и в конце общей бомбы вилочной бомбы требуется и почему эти сценарии ведут себя по-другому: :(){ (:) | (:) }; : а также :(){ : | :& }; : Первый вызывает всплеск использования процессора, прежде чем отправить меня обратно на экран входа в […]

Есть ли элегантный способ установить переменную оболочки в содержимое файла?

Скажем, у меня есть некоторые данные конфигурации в файловой config . Для удобства я хотел бы загрузить эти данные в переменную оболочки CONFIG_DATA . Очевидно, я могу сделать: CONFIG_DATA="$(cat config)" Но этот вид кажется мне бесполезным употреблением cat . Это единственный способ сделать это? Или есть более элегантный способ сделать это? Ответы должны предпочесть POSIX, […]

Как ls без рекурсивного

Я пытаюсь использовать некоторые файлы с шаблоном в каталоге. Я хочу только сканировать первый уровень, не рекурсивный. Мой скрипт: for i in $(ls $INCOMINGDIR/*$BUSSINESSDATE*) do echo $i; done Выше команда сканирует рекурсивно. Как сделать это только для сканирования каталога первого уровня?

Инструмент для создания текстовых файлов из шаблона

Я должен регулярно создавать более 100 текстовых файлов из шаблонов. В настоящее время я использую слишком сложный сценарий оболочки. Я думаю, что есть более умный способ справиться с этим, но я не знаю, как это сделать. У меня есть «база данных»: # outputfile template data1 data2 data3 first.txt $template_main $text1 abcd 1234 second.txt $template_main $text2 […]

Состояние выхода Bash, используемое с PIPE

Я пытаюсь понять, как передается статус выхода при использовании канала. Предположим, я использую для поиска несуществующей программы: which lss echo $? 1 Так как не удалось найти lss я получил статус выхода 1. Это прекрасно. Однако, когда я пытаюсь сделать следующее: which lss | echo $? 0 Это означает, что последняя выполненная команда завершилась нормально. […]

Нужна помощь в улучшении моего скрипта Bash

Мне нужна помощь в улучшении моего сценария Bash, чтобы он работал безупречно, без проблем. Этот скрипт использует ds4drv в нем, и у него есть некоторые проблемы, которые я не уверен в том, как исправить. Первая проблема заключается в том, что он не всегда запускается или работает при обнаружении контроллера, я создал для него правило udev, […]

Замена последних символов после последней запятой на строку

У меня есть огромный текстовый файл, который выглядит так: 36,53,90478,0.58699759849,0.33616,4.83449759849,0.0695335954050315,3 36,53,90478,0.58699759849,0.33616,4.83449759849,0.0695335954050315,8 36,53,90478,0.58699759849,0.33616,4.83449759849,0.0695335954050315,14 36,53,15596,0.58454577855,0.26119,2.24878677855,0.116147072052964,12 Желаемый результат: 36,53,90478,0.58699759849,0.33616,4.83449759849,0.0695335954050315,MI-03 36,53,90478,0.58699759849,0.33616,4.83449759849,0.0695335954050315,MI-08 36,53,90478,0.58699759849,0.33616,4.83449759849,0.0695335954050315,MI-14 36,53,15596,0.58454577855,0.26119,2.24878677855,0.116147072052964,MI-12 Я пробовал другие соответствующие должности здесь и в других сообществах, но не мог точно получить то, что хочу. ОБНОВИТЬ Это кросс-вопрос (для этого я хотел получить как ответы Unix / perl, так и пакетные / powershell-решения), […]

Linux и Unix - лучшая ОС в мире.