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

11
Удалить строки из файла в зависимости от строк, найденных в другом файле

Файл file1.txt содержит такие строки: /api/purchase/<hash>/index.html Например: /api/purchase/12ab09f46/index.html Файл file2.csv содержит такие строки: <hash>,timestamp,ip_address Например: 12ab09f46,20150812235200,22.231.113.64 a77b3ff22,20150812235959,194.66.82.11 Я хочу...

11
Подсчитать количество элементов в массиве bash, где имя массива является динамическим (т.е. хранится в переменной)

Краткое изложение вопроса: Существует ли встроенный метод bash для подсчета количества элементов в массиве bash, где имя массива является динамическим (т.е. хранится в переменной), не прибегая к созданию полной копии массива или его использованию eval? Дополнительная информация: Используя...

11
Как получить последний аргумент функции / bin / sh

Какой способ лучше реализовать print_last_arg? #!/bin/sh print_last_arg () { eval "echo \${$#}" # this hurts } print_last_arg foo bar baz # baz (Если бы это было, скажем, #!/usr/bin/zshвместо того, #!/bin/shчтобы знать, что делать. Моя проблема - найти разумный способ реализовать это #!/bin/sh.)...

11
Почему #! / Usr / bin / env bash не работает в моей системе?

Я столкнулся с некоторыми проблемами при запуске некоторых сценариев установки, на которые они жаловались bad interpreter. Итак, я сделал тривиальный пример, но не могу понять, в чем проблема, см. Ниже. #!/usr/bin/env bash echo "hello" Выполнение сценария выше приводит к следующей ошибке...

11
Официальный стандарт / соглашение для расширения файла для сценариев оболочки к источнику

Мне было интересно, существует ли соглашение для расширений типов файлов для сценариев оболочки, которые вы хотите использовать вместо запуска. Например: Если я хочу запустить этот скрипт в подоболочке. ./script.sh Если я хочу не забыть запустить этот скрипт из текущей оболочки. . script.source...

11
Выполните команду или функцию, когда SIGINT или SIGTERM отправляются самому родительскому сценарию, а не дочерним процессам

Допустим, у меня есть это script.sh #!/bin/bash exit_script() { echo "Printing something special!" echo "Maybe executing other commands!" kill -- -$$ # Sends SIGTERM to child/sub processes } echo "Some other text" #other commands here sleep infinity Я хочу script.shвыполнить функцию...

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

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

11
bash не может хранить шестнадцатеричное значение 0x00 в переменной

Я пытаюсь сделать некоторые трюки с дд. Я думал, что было бы возможно сохранить некоторые шестнадцатеричные значения в переменной с именем "header", чтобы передать его в dd. Мой первый шаг без переменной был такой: $ echo -ne "\x36\xc9\xda\x00\xb4" |dd of=hex $ hd hex 00000000 36 c9 da 00 b4...

11
Как я могу проверить надежность обработки файла моего сценария оболочки?

Я написал сценарий оболочки, который обрабатывает некоторые «обычные» имена файлов, но я прочитал Почему мой сценарий оболочки задыхается от пробелов или других специальных символов? и почему вы не должны анализировать вывод ls, и я бы хотел, чтобы он был более устойчивым и обрабатывал любые...

11
BASH и поведение возврата каретки

У меня есть один быстрый вопрос. Это нормально, что bash (я использую 4.4.11) не отображает строки / текст, который отделен / заканчивается простым \r? Я был немного удивлен, увидев такое поведение: $ a=$(printf "hello\ragain\rgeorge\r\n") $ echo "$a" george Но текст «Привет снова» все еще там,...

11
$ HOME / bin dir отсутствует в $ PATH

По моему у ~/.profileменя есть последний блок, который должен загрузить мои личные, bin/ directoryкак это: # set PATH so it includes user's private bin if it exists if [ -d "$HOME/bin" ] ; then PATH="$HOME/bin:$PATH" fi Но, похоже, не загружено: echo $PATH...

11
В сценарии оболочки, как я могу (1) запустить команду в фоновом режиме (2) подождать x секунд (3) выполнить вторую команду во время выполнения этой команды?

Вот что мне нужно, чтобы это произошло: начать процесс А в фоновом режиме ждать х секунд начать процесс B на переднем плане Как я могу заставить ожидание случиться? Я вижу, что «сон», кажется, останавливает все, и я на самом деле не хочу «ждать», пока процесс А завершится полностью. Я видел циклы,...

11
Shell Script: создание переменной с параметрами внутри

У меня есть команда rsync со следующими параметрами: rsync -avz --{partial,stats,delete,exclude=".*"} Я хочу поместить эти параметры в переменную, чтобы использовать ее после в скрипте. Что-то вроде этого: #!/bin/bash VAR=rsync -avz --{partial,stats,delete,exclude=".*"} $VAR /dir1 /dir2 Я пробовал...

11
Неявный возврат в функции bash?

Скажем, у меня есть функция bash, например: gmx(){ echo "foo"; } будет ли эта функция неявно возвращать выходное значение echoкоманды, или необходимо использовать return? gmx(){ echo "foo"; return $? } Я предполагаю, что, как работает bash, состояние выхода последней команды функции bash - это то,...