Tag: bash

Как указать пароль для psql неинтерактивно?

Я пытаюсь автоматизировать процесс создания базы данных с помощью сценария оболочки и одну вещь, которую я ударил по дорожному блоку с передачей пароля psql. Вот немного кода из сценария оболочки: psql -U $DB_USER -h localhost -c”$DB_RECREATE_SQL” Как передать пароль psql неинтерактивным способом? Благодаря!

Получение ошибки «команда не найдена» при сравнении двух строк в Bash

Весь мой скрипт в настоящее время: #!/bin/sh clear; blanko=””; # Dummy-Variablen variable=Testvariable; if [[$variable == $blanko]]; then echo “Nichts da!” else echo $variable fi и если я вхожу TestSelect.sh я получил /usr/bin/TestSelect.sh: line 6: [[Testvariable: command not found Testvariable Как я могу это исправить?

Как определить, есть ли сценарий

У меня есть сценарий, где я не хочу, чтобы он вызывал exit если он был источником. Я думал о проверке, если $0 == bash но у этого есть проблемы, если сценарий получен из другого скрипта, или если пользователь использует его из другой оболочки, такой как ksh . Есть ли надежный способ обнаружения сценария?

переадресовать COPY stdout для записи файла из самого скрипта bash

Я знаю, как перенаправить stdout в файл: exec > foo.log echo test это поместит «тест» в файл foo.log. Теперь я хочу перенаправить вывод в файл журнала и сохранить его на stdout т.е. это можно сделать тривиально из-за пределов сценария: script | tee foo.log но я хочу сделать объявление в самом скрипте Я пытался exec | […]

Чтение ввода в bash внутри цикла while

У меня есть сценарий bash, который является чем-то вроде следующего, cat filename | while read line do read input; echo $input; done но это явно не дает мне правильный результат, как когда я читаю в цикле while, который он пытается прочитать из имени файла из-за возможного перенаправления ввода-вывода. Любой другой способ сделать то же самое?

Почему равный оператор не работает, если он не окружен пространством?

Я попробовал следующий скрипт #!/bin/bash var1=”Test 1″ var2=”Test 2″ if [ “$var1″=”$var2” ] then echo “Equal” else echo “Not equal” fi Это дало мне Equal . Хотя он должен был напечатать Not equal Только когда я вставил пространство вокруг = он работал как предполагалось if [ “$var1” = “$var2” ] и напечатано Not equal Почему […]

Как определить хеш-таблицы в Bash?

Что такое эквивалент словарей Python, но в Bash (должен работать через OS X и Linux).

Как вы запускаете несколько программ параллельно из сценария bash?

Я пытаюсь написать .sh-файл, который запускает много программ одновременно Я попробовал это prog1 prog2 Но это запускает prog1, затем ждет, пока prog1 не закончится, а затем запустит prog2 … Итак, как я могу запускать их параллельно?

Проверьте, содержит ли массив Bash значение

В Bash, какой самый простой способ проверить, содержит ли массив определенное значение? Изменить : с помощью ответов и комментариев, после некоторого тестирования я придумал следующее: function contains() { local n=$# local value=${!n} for ((i=1;i < $#;i++)) { if [ "${!i}" == "${value}" ]; then echo "y" return 0 fi } echo "n" return 1 } […]

Как объединить все две строки в одну из командной строки?

У меня есть текстовый файл со следующим форматом. Первая строка – «КЛЮЧ», а вторая строка – «VALUE». KEY 4048:1736 string 3 KEY 0:1772 string 1 KEY 4192:1349 string 1 KEY 7329:2407 string 2 KEY 0:1774 string 1 Мне нужно значение в той же строке, что и ключ. Таким образом, результат должен выглядеть так … KEY […]

Давайте будем гением компьютера.