Вопросы с тегом «bash»

137
Эмуляция цикла do-while в Bash

Каков наилучший способ эмулировать цикл выполнения в Bash? Я мог бы проверить условие перед входом в whileцикл, а затем продолжить повторную проверку условия в цикле, но это дублированный код. Есть ли более чистый способ? Псевдокод моего скрипта: while [ current_time <= $cutoff ]; do...

136
Запускать задание cron, только если оно еще не запущено

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

136
Bash / sh - разница между && и;

Обычно я использую ;для объединения более одной команды в строке, но некоторые люди предпочитают &&. Есть ли разница? Например, cd ~; cd -и, cd ~ && cd -кажется, сделать то же самое. Какая версия является более переносимой, например, будет поддерживаться подмножеством bash, таким...

136
Операторы равенства Баша (==, -eq)

Может кто-нибудь объяснить разницу между сценариями bash -eqи ==в них? Есть ли разница между следующим? [ $a -eq $b ] и [ $a == $b ] Это просто ==используется только тогда, когда переменные содержат...

135
Как вручную расширить специальную переменную (например: ~ тильда) в bash

У меня есть переменная в моем сценарии bash, значение которой примерно такое: ~/a/b/c Обратите внимание, что это нерасширенная тильда. Когда я выполняю ls -lt для этой переменной (назовем ее $ VAR), я не получаю такой каталог. Я хочу, чтобы bash интерпретировал / расширял эту переменную, не...

135
bash присвоить значение по умолчанию

$ {parameter: = word} Назначить значения по умолчанию. Если параметр не установлен или равен нулю, параметру присваивается раскрытие слова. Затем подставляется значение параметра. Позиционные параметры и специальные параметры не могут быть назначены таким образом. Я думал, что могу использовать...

135
В чем разница между $ {var}, «$ var» и «$ {var}» в оболочке Bash?

О чем говорится в названии: что означает инкапсулировать переменную в {}, ""или "{}"? Я не смог найти никаких объяснений в Интернете по этому поводу - я не мог ссылаться на них, за исключением использования символов, которые ничего не дает. Вот пример: declare -a groups...

134
Шаблоны Bash: как создавать файлы конфигурации из шаблонов с помощью Bash?

Я пишу сценарий для автоматизации создания файлов конфигурации для Apache и PHP для моего собственного веб-сервера. Я не хочу использовать графические интерфейсы вроде CPanel или ISPConfig. У меня есть несколько шаблонов файлов конфигурации Apache и PHP. Скрипту Bash необходимо читать шаблоны,...

133
Как изменить завершение истории bash, чтобы завершить то, что уже на линии?

Пару месяцев назад я нашел команду, которая автоматически завершала мою историю bash на том, что уже находится на линии при нажатии стрелки вверх: $ vim fi Нажмите ↑ $ vim file.py Я хотел бы установить это на моем новом компьютере, потому что это экономит много времени при ведении большой истории....

133
Bash-скрипт для настройки временного SSH-туннеля

В Cygwin я хочу, чтобы сценарий Bash: Создайте SSH-туннель к удаленному серверу. Выполните некоторую работу локально, используя туннель. Затем закройте туннель. Часть выключения озадачила меня. В настоящее время у меня есть хромое решение. В одной оболочке я запускаю следующее, чтобы создать...

133
Как настроить завершение командной строки git bash?

Например, на новой машине ubuntu я только что запустил sudo apt-get git, и при вводе нет завершения, например git check[tab]. Я ничего не нашел на http://git-scm.com/docs , но в наши дни завершение IIRC включено в пакет git, и мне просто нужна правильная запись в моем...

133
Как запустить .sh в командной строке Windows?

Как запустить .sh в командной строке Windows 7? Я всегда получаю эту ошибку, когда пытаюсь запустить в ней эту строку, app/build/build.sh ошибка, 'app' is not recognized... или, bash app/build/build.sh ошибка, 'bash' is not recognized... Есть идеи, что я пропустил? Вот скриншот,...

133
Как передать аргументы в сценарий оболочки через запуск докера

Я новичок в мире докеров. Мне нужно вызвать сценарий оболочки, который принимает аргументы командной строки через контейнер докера. Пример: мой сценарий оболочки выглядит так: #!bin/bash echo $1 Dockerfile выглядит так: FROM ubuntu:14.04 COPY ./file.sh / CMD /bin/bash file.sh Я не уверен, как...

132
Многострочный синтаксис для передачи heredoc; это портативный?

Мне знаком этот синтаксис: cmd1 << EOF | cmd2 text EOF но только что обнаружил, что bash позволяет мне писать: cmd1 << EOF | text EOF cmd2 (heredoc используется в качестве ввода для cmd1, а вывод cmd1 передается по конвейеру в cmd2). Это кажется очень странным синтаксисом. Он...