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

20
dirname и basename против расширения параметров

Есть ли объективная причина предпочесть одну форму другой? Производительность, надежность, портативность? filename=/some/long/path/to/a_file parentdir_v1="${filename%/*}" parentdir_v2="$(dirname "$filename")" basename_v1="${filename##*/}" basename_v2="$(basename "$filename")" echo "$parentdir_v1"...

20
генерировать согласованный уникальный идентификатор машины

Можем ли мы сгенерировать уникальный идентификатор для каждого ПК, например, uuuidgen, но он никогда не изменится, если не произойдут аппаратные изменения? Я думал о слиянии CPUID и MACADDR и хешировании их для создания согласованного идентификатора, но я не знаю, как их анализировать с помощью...

20
Что POSIX требует для цитируемых здесь документов внутри подстановки команд?

В этом вопросе кто-то сообщает о проблеме, используя документ here со словом в кавычках в кавычках внутри $(...)подстановки команд , где обратный слеш \в конце строки внутри документа запускает продолжение строки, соединяющей строки , в то время как тот же документ здесь вне подстановки команд...

20
Как неинвазивно проверить доступ на запись в файл?

В сценарии оболочки, как я могу легко и неинвазивно проверить доступ на запись в файл без фактической попытки изменить файл? Я мог бы проанализировать вывод stat, но это кажется действительно сложным и, возможно, хрупким, хотя я не уверен, насколько статистический вывод отличается в разных...

20
Синтаксическая ошибка: неожиданный конец файла - скрипт Bash [закрыт]

Закрыто . Этот вопрос нуждается в деталях или ясности . В настоящее время не принимает ответы. Хотите улучшить этот вопрос? Добавьте детали и проясните проблему, отредактировав этот пост . Закрыто 4 года назад . Я пытаюсь создать приложение spritz. Все работало нормально, но со вчерашнего дня я...

20
Сценарий оболочки для создания файла, если он не существует?

Мне нужно создать сценарий оболочки, который проверяет наличие файла и, если он не существует, создает его и переходит к следующей команде или просто переходит к следующей команде. То, что у меня есть, не делает этого. #!/bin/bash # Check for the file that gets created when the script successfully...

20
Разделить длинный вывод на две колонки

Есть ли простая утилита или скрипт для колонки вывода одного из моих скриптов? У меня есть данные в той или иной форме: A aldkhasdfljhaf B klajsdfhalsdfh C salkjsdjkladdag D lseuiorlhisnflkc E sdjklfhnslkdfhn F kjhnakjshddnaskjdh но если это становится длиной два, запишите данные в следующем виде...

20
Как я могу кратко назначить различные значения переменной, в зависимости от другой переменной?

Как я могу сократить этот скрипт? CODE="A" if test "$CODE" = "A" then PN="com.tencent.ig" elif test "$CODE" = "a" then PN="com.tencent.ig" elif test "$CODE" = "B" then PN="com.vng.pubgmobile" elif test "$CODE" = "b" then PN="com.vng.pubgmobile" elif test "$CODE" = "C" then PN="com.pubg.krmobile"...

20
Как мне ждать, когда программа запущена в другой оболочке

У меня есть программа, выполняющая большой объем работы (занимает около 4-5 часов), которая запускается cron, когда становятся доступными все данные, с которыми она работает. Иногда, когда я жду, пока он закончится, я хотел бы иметь возможность запустить другую (интерактивную) программу, когда она...

19
Как мне проверить, существует ли приложение в $ PATH?

Я пытаюсь написать все свои shсценарии запуска / env для работы с таким большим количеством СУХОГО и столько: «работает на каждом * nix, к которому я клонирую», насколько это возможно. Это означает, что, если я попытаюсь запустить код, которого нет, код завершится неудачно. Для этого мне нужно...

19
Что означает $ {1: 0: 2} в этом контексте?

Я смотрю на код, показанный ниже, и он проверяет ввод, если аргументы строки / столбца начинаются с или -rили -c. Что ${1:0:2}значит в этом контексте? rowArgName="-r" colArgName="-c" if [ "${1:0:2}" != $rowArgName ] && [ "${1:0:2}" != $colArgName ] then echo $correctCmdMsg >&2 exit 1...

19
Как проверить, смонтирована ли файловая система с помощью скрипта

Я новичок в написании сценариев ... Я могу делать очень простые вещи, но теперь мне нужна рука. У меня есть локальная файловая система, которая будет монтироваться только тогда, когда мне нужно сделать резервную копию. Я начинаю с этого. #!/bin/bash export MOUNT=/myfilesystem if grep -qs $MOUNT...

19
Подавить вывод, если не нулевой код выхода

Каков наилучший способ подавления вывода (stdout и stderr), если программа не завершает работу с ненулевым кодом? Я думаю: quiet_success() { file=$(mktemp) if ! "$@" > "$file" 2>&1; then cat "$file" fi rm -f "$file" } И беги, quiet_success my_long_noisy_script.shно я не уверен, что есть...

19
Избежание ожидания в bash без команды sleep

Я знаю, что могу подождать, пока условие станет истинным в bash, выполнив: while true; do test_condition && break sleep 1 done Но он создает 1 подпроцесс на каждую итерацию (сон). Я мог бы избежать их, сделав: while true; do test_condition && break done Но он использует много...

19
Доступ к переменной индекса массива из цикла сценария bash?

Я хочу получить доступ к переменной индекса массива во время цикла по массиву в моем сценарии оболочки bash. myscript.sh #!/bin/bash AR=('foo' 'bar' 'baz' 'bat') for i in ${AR[*]}; do echo $i done Результат приведенного выше сценария: foo bar baz bat Результат, который я ищу: 0 1 2 3 Как мне...

19
Как ls без рекурсии

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