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

42
Как передать каждую строку текстового файла в качестве аргумента в команду?

Я пытаюсь написать скрипт, который принимает .txtимя файла в качестве аргумента, читает файл построчно и передает каждую строку команде. Например, он запускается command --option "LINE 1", затем command --option "LINE 2"и т. Д. Вывод команды записывается в другой файл. Как мне это сделать? Я не...

42
Как правильно собрать массив строк в zsh

Я думал, что следующее сгруппирует выходные данные my_commandв массив строк: IFS='\n' array_of_lines=$(my_command); так что это $array_of_lines[1]будет относиться к первой строке в выводе my_command, $array_of_lines[2]ко второй и так далее. Однако приведенная выше команда, похоже, не работает...

42
Проверить, содержит ли строка подстроку

У меня есть код file="JetConst_reco_allconst_4j2t.png" if [[ $file == *_gen_* ]]; then echo "True" else echo "False" fi Я проверяю, fileсодержит ли "gen". Выход «Ложь». Ницца! Проблема в том, когда я заменяю «gen» переменной testseq : file="JetConst_reco_allconst_4j2t.png" testseq="gen" if [[ $file...

41
Что «set -» делает в этой точке входа Dockerfile?

Я пытаюсь понять, что делает эта точка входа в Docker . Мне кажется, что при написании Dockerfiles это очень распространенный паттерн, но мои навыки работы с bash ограничены, и я понятия не имею о всех специальных символах bash kung fu. Кроме того, трудно гуглить по "-", "$!" и т.д. Как они...

41
Переменная как команда; Эвал против Баш-C

Я читал сценарий bash, который кто-то сделал, и заметил, что автор не использует eval для оценки переменной как команды . Автор использовал bash -c "$1" вместо того eval "$1" Я предполагаю, что использование eval является предпочтительным методом, и в любом случае он, вероятно, быстрее. Это правда?...

41
Поиск самого большого файла рекурсивно

Я пытаюсь найти самый большой файл в каталоге рекурсивно. Если в этом каталоге есть подкаталог, функция должна зайти в этот каталог и проверить, есть ли там самый большой файл. Как только найден самый большой файл, выводится вывод с относительным именем пути, именем и размером самого большого...

41
Заменить переменные среды в файле с их фактическими значениями?

Есть ли простой способ заменить / оценить переменные среды в файле? Например, у меня есть файл, config.xmlкоторый содержит: <property> <name>instanceId</name> <value>$INSTANCE_ID</value> </property> <property> <name>rootPath</name>...

41
перейдите во все каталоги, выполните команду для файлов в этом каталоге и вернитесь в предыдущий текущий каталог

Я пытаюсь написать скрипт, который будет запускаться в заданном каталоге со многими одноуровневыми подкаталогами. Сценарий перейдет в каждый из подкаталогов, выполнит команду для файлов в каталоге и перейдет в следующий каталог. Каков наилучший способ сделать...

41
Объединение аргументов bash в одну строку с пробелами

Я пытаюсь объединить все аргументы функции Bash в одну строку с пробелами, разделяющими каждый аргумент. Мне также нужно, чтобы строка включала одинарные кавычки вокруг всей строки. Вот что у меня так далеко ... $array=("$@") str="\'" for arg in "${array[@]}"; do let $str=$str+$arg+" " done let...

40
GNU параллельно против & (я имею в виду фон) против xargs -P

Я смущен разницей или преимуществом (если есть) запуска набора задач в .shскрипте с использованиемGNU parallel Например, ответ Оле Танге : parallel ./pngout -s0 {} R{} ::: *.png вместо того, чтобы повторять их в фоновом режиме &. Например, ответ frostschutz : #copied from the link for...

40
Как работает awk '! A [$ 0] ++'?

Эта однострочная строка удаляет повторяющиеся строки из текстового ввода без предварительной сортировки. Например: $ cat >f q w e w r $ awk '!a[$0]++' <f q w e r $ Оригинальный код, который я нашел в интернете, читал: awk '!_[$0]++' Это было еще более озадачивающим для меня, так как я принял...

39
Какие стандартные команды доступны в каждом дистрибутиве на основе Linux?

Я хотел бы знать, какие стандартные команды доступны в каждой системе Linux. Например, если вы получили Debian / Ubuntu / Redhat / Suse / Arch / Slackware и т. Д., Вы всегда найдете там такие команды, как: cd, mkdir, ls, echo, grep, sed, awk, ping и т. д. Я знаю, что некоторые из упомянутых команд...

39
Команда nvm недоступна в скрипте bash

Я пытаюсь построить сценарий, в котором nvmи в конечном итоге узел будет установлен. Я установил nvmс CURL. Я вижу изменения в файле .profileили .bashrc(оба работают), и при вводе nvmв командной строке bash, он показывает доступные опции и т.д. Так что nvm работает. Вручную я могу установить узел,...

37
Самый простой способ комментировать / раскомментировать определенные строки с помощью командной строки

Есть ли способ комментировать / раскомментировать сценарий shell / config / ruby ​​с помощью командной строки? например: $ comment 14-18 bla.conf $ uncomment 14-18 bla.conf это добавит или удалит #знак bla.confна линии 14к 18. Обычно я использую sed, но я должен знать содержимое этих строк, а затем...

37
chmod + тихий режим + как заставить код выхода 0 несмотря на ошибку

Возможно ли выполнить chmod и игнорировать ошибку из команды Пример (примечание file.txt не существует, чтобы показать пример) Когда я печатаю chmod 777 file.txt Я получаю ошибку на выходе chmod: cannot access file.txt : no such file or directory Поэтому я добавляю флаг -f к команде следующим...