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

22
Передача двух аргументов в команду с использованием каналов

Обычно нам нужно передать только один аргумент: echo abc | cat echo abc | cat some_file - echo abc | cat - some_file Есть ли способ передать два аргумента? Что-то вроде {echo abc , echo xyz} | cat cat `echo abc` `echo xyz` Я мог бы сначала сохранить оба результата в файле echo abc > file1 echo...

22
ssh и shell через ssh: как выйти?

Я запускаю удаленный скрипт через SSH так: ssh user@ipaddress '~/my_script.sh' Все идет хорошо, но как только скрипт завершен, соединение не закрывается. Я должен нажать CTRL-C, чтобы разорвать текущее соединение. Я пробовал команду «exit» в «~ / my_script.sh», и она бесполезна. Я пробовал команду...

21
Bash: опционально передавая аргументы команде

Я пытаюсь добавить аргументы для вызова команды зависит от другой переменной. Пожалуйста, посмотрите код сценария оболочки: curl \ $([ -z "${title}" ] || echo --data-urlencode title=${title}) \ http://example.com В примере, если titleзадано не нуль, аргумент будет добавлен в curl. Это не работает...

20
Должен ли я использовать расширения * .sh и * .rb для всех моих сценариев?

У меня есть куча свернутых вручную исполняемых скриптов в моем каталоге $ HOME / bin. Некоторые написаны на bash, некоторые на Ruby. У всех них есть строка shebang вверху, указывающая оболочке, какой интерпретатор использовать (в моем случае bash или Ruby). Мне интересно, лучше ли добавлять в эти...

19
Написание сценариев оболочки, которые будут работать в любой оболочке (используя несколько строк shebang?)

Я только начал углубляться в создание сценариев оболочки, и я всегда просто бросал свой сценарий в файл, отмечал его, chmod +xа затем делал /path/to/script.shи позволял любому интерпретатору по умолчанию иметь с ним дело, которое, как я предполагал, было zsh, потому что это то, что Я использовал...

18
Программно определить, выполняется ли сценарий на ноутбуке или настольном компьютере?

Есть ли надежный способ (программно) определить из сценария bash, выполняется ли он на ноутбуке или настольном компьютере? Очевидно, я мог бы просто попросить пользователя спросить их, но это довольно...

18
Разбить очень длинную строку слов на отдельные строки максимальной длины

У меня есть скрипт, который выводит список пакетов на одной длинной строке, разделенных пробелами. Информация, включенная в эту строку, должна быть вставлена ​​в текстовый файл, который впоследствии будет представлен пользователю. Я хочу разбить длинную строку на несколько строк с определенной...

18
Как вам избежать апострофа в одной строке в кавычках в Баше?

Я не понимаю, как bash оценивает экранирование символов апострофа в одиночных кавычках. Вот пример: $ echo ''\''Hello World'\''' 'Hello World' # works $ echo '\'Hello World\'' > # expects you to continue input Я пытался найти объяснения этому, но ничего не смог получить. Что Баш здесь...

17
Запустите скрипт в OS X 10.6 по сетевому соединению. (например, /etc/network/if-up.d/)

Есть ли способ запустить скрипт, когда в Mac OS X появляется сетевой интерфейс? Я попытался поместить скрипт с именем ip-up в / etc / ppp, но он не срабатывает, когда я отключаюсь и снова подключаюсь к беспроводной сети. Я бы предпочел не запускать задание cron, чтобы постоянно проверять,...

15
Как напечатать символ новой строки с помощью echo?

Я сбрасываю строку с hexdumpтаким 2031 3334 2e30 0a32 2032 3331 302e 000a. Ясно, что 0x0aэто символ новой строки, однако, когда я пытаюсь отобразить эту строку, я всегда получаю 1 430.2 2 13.0- новая строка заменяется пробелом, даже я использую -eфлаг. В чем может быть проблема? Хвост \0испортит...

15
Почему я получаю [[: not found при запуске скрипта?

Я пытаюсь написать скрипт, который должен проверить, существует ли файл. В консоли пишу if [[ -a /path/to/file.txt ]]; then echo "not mod"; else echo "mod"; fi и я получаю not mod но когда я пишу скрипт, чтобы сделать то же самое: #!/bin/sh if [[ -a /path/to/file.txt ]]; then echo "not mod"; else...

13
Unix Script: подождите, пока файл не появится

Мне нужен скрипт, который будет ожидать появления (examplefile.txt) в каталоге / tmp и как только он найден, чтобы остановить программу, в противном случае, чтобы спит файл, пока он не будет найден Пока что у меня есть: если [ ! -f /tmp/examplefile.txt]...

13
Где хранить скрипт cronjob?

Я предпочел бы не держать это в моем /home/myusername каталог. Есть ли лучшая практика, где хранить ваши сценарии оболочки для cronjobs? На корневом уровне? Я работаю на Ubuntu Server 12.04 прямо сейчас....