Tag: bash

Передача аргумента с двойными и одинарными кавычками на другой вызов в bash

У меня есть звонок ./run.sh name –vars=”service_name=’someothername'” и я пытаюсь вызвать другую программу с точно таким же –vars=”service_name=’someothername'” из run.sh , однако run.sh , когда я это делаю, Bash помещает одинарные кавычки вокруг переменной $2 когда я пытаюсь сделать cmd=$(runother $2 | process output) Я получаю один из runother ‘”–vars=service_name=’\”someother.. runother ‘–vars=service_name=’\”someother runother ‘–vars=service_name=someother’ Я […]

Команда ожидания работает, когда pid не существует

Я столкнулся с неожиданным поведением встроенного ожидания. ~ ❯ sleep 1 & [1] 72009 ~ ❯ [1] + 72009 done sleep 1 ~ ❯ wait 72009 ~ ❯ echo $? 0 Хотя PID больше не существует, ожидание по-прежнему завершается с нулевым статусом выхода. Вопросы В чем причина такого поведения? Как работает ожидание? Что это делает […]

Вывод ls имеет переводы строки, но отображается в одной строке. Зачем?

Я думаю, что я могу упускать из виду относительно фундаментальный момент в отношении оболочки. Вывод команды ls по умолчанию отделяет вывод с символами новой строки, но shell отображает вывод в одной строке. Кто-нибудь может мне это объяснить? Я всегда предполагал, что выходные данные были просто разделены пробелами, но теперь, когда я вижу выходные данные, разделенные […]

Поиск в каталоге без учета регистра?

Я работаю над реструктуризацией структуры нескольких существующих папок. Так что, если какие-то папки будут пропущены, мне придется добавить их. Сначала я проверяю, существует ли каталог с помощью команды if, если ее нет, я ее создаю. Поскольку он чувствителен к регистру, я снова создаю ту же папку. Пример: Папка с ABC уже существует, но я проверяю […]

взять входные данные из переменной и сохранить ее в той же переменной, но в файле diff

Входной файл: input.txt l1=”R2″ l2=”R1″ “Другое имя файла: output.sh” l1=”” l2=”” Я хочу скопировать значение переменных l1,l2 из input.txt в файловую переменную l1,l2 файла output.sh

Отправка истории bash в системный журнал

Bash версии 4.N, очевидно, имеет возможность записывать историю команд в системный журнал, но я не могу найти информацию о том, как это настроить. Я прочитал несколько страниц, которые предлагают хаки, использующие PROMPT_COMMAND , и ловушку, и я знаю, что есть ansible патч, но это должно быть ненужным, поскольку оно теперь встроено. Я знаю, что могу […]

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

У меня есть строка, которая выглядит следующим образом. Das,Dwda,3145124,4,”7,5″,6,”7,5″,6,8,7,51,”5,5″,10,17,”83,5″ Я хочу изменить все запятые в двойных кавычках на период с некоторой командой в bash, такой как awk или sed.

Проверка основной версии Java в скрипте bash

Я только что установил Кафку, следуя инструкции. Не запускается из-за ошибки скрипта sh : $ sudo kafka-server-start.sh /etc/kafka.properties /opt/Kafka/kafka_2.12-1.1.0/bin/kafka-run-class.sh: line 252: [[: 10 2018-04-17: syntax error in expression (error token is “2018-04-17”) [0.000s][warning][gc] -Xloggc is deprecated. Will use -Xlog:gc:/opt/Kafka/kafka_2.12-1.1.0/bin/../logs/kafkaServer-gc.log instead. Unrecognized VM option ‘PrintGCDateStamps’ Error: Could not create the Java Virtual Machine. Error: A fatal […]

Как я могу обобщить команду awk в скрипт? (извлечение / перестановка столбцов из файла)

Я пытаюсь обобщить: $ awk -F”:” ‘{ print $7 “:” $1 }’ /etc/passwd в сценарий с разделителем, входным файлом и выбором столбцов, предоставленных из аргументов командной строки, что-то вроде: #! /bin/bash # parse command line arguments into variables `delimiter`, `cols` and `inputfile` … awk -F”$delimiter” ‘{ print ‘”$cols”‘ }’ “$inputfile” Ввод из файла, так что […]

Передача логического флага функции?

У меня есть функция, которая зависит от аргумента, где функциональность меняется. Я знаю, что могу сделать: function foo { PARAM1=$1 PARAM2=”$2″ VAR=$3 if[[ -z “$VAR” ]]; then # code here else # other code here fi } Мне было интересно, если есть более подходящий подход для Bash. Это сработало бы, но я не хотел бы […]

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