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

Оболочка является интерфейсом командной строки Unix. Вы можете вводить команды в оболочке в интерактивном режиме или писать сценарии для автоматизации задач. Используйте этот тег для вопросов, относящихся к / bin / sh и большинству совместимых оболочек (ash, bash, ksh, zsh,…). Для сценариев оболочки с ошибками, пожалуйста, проверьте их в http://shellcheck.net перед публикацией здесь.

2
Приоритет && против & в bash и zsh
Отвечая на этот вопрос, я обнаружил очень забавную (и тонкую) разницу между поведением в bashи zsh: В bash: romano@RRyS:~$ pwd /home/romano romano@RRyS:~$ alias x="cd /bin && ./echo A >/dev/null &" romano@RRyS:~$ x [1] 16611 romano@RRyS:~$ pwd /home/romano Как видите, выполнение псевдонима xвыполняется в подоболочке, поэтому текущий каталог не изменяется. Не …
9 bash  shell  zsh 

4
Неожиданный EOF и синтаксическая ошибка
В настоящее время я пишу свой третий скрипт оболочки, и у меня возникла проблема. Это мой сценарий: #!/bin/bash echo "choose one of the following options : \ 1) display all current users \ 2) list all files \ 3) show calendar \ 4) exit script" while read do case in …

2
Можно ли использовать переменные параметров оболочки ($ 1,…, $ @) непосредственно в CLI?
Иногда необходимо эмулировать и проверять вышеуказанные переменные в небольших примерах, а затем сразу же скопировать их в какой-либо сценарий и т. Д. Я попытался решить, используя простой пример, следующими способами: (find $1) /tmp sh -c '(find $1) /tmp' sh -c "find $1" /tmp echo '(find $1) /tmp' | sh и …

3
Динамически обрезать ширину линии стандартного вывода в Bash
В последнее время я экспериментировал с psкомандой, и иногда длинные пути переносятся на следующую (или две) строку и затрудняют чтение. Я хочу передать psвывод в другую программу, чтобы ограничить вывод xколичеством символов. Вот то, что у меня есть, но оно работает не совсем правильно: ps aux | cut -c1-$(stty size …
9 bash  shell  stdout  cut 

4
Как прочитать пользовательский ввод из канала?
Предположим, у меня есть файл confirmation.shсо следующим содержимым: #!/bin/bash echo -n "Are you sure [Y/n]? " read line case "$line" in n|N) echo "smth" ;; y|Y) echo "smth" ;; esac и я хочу запустить этот скрипт следующим образом: cat confirmation.sh | sh Я вижу, Are you sure [Y/n]?и сценарий прерывается. …

1
Какова причина того, что оболочка bash не предупреждает вас об арифметическом переполнении и т. Д.?
Существуют ограничения, установленные для возможностей арифметической оценки bashоболочки. Руководство кратко об этом аспекте арифметики оболочки, но гласит : Оценка выполняется в целых числах фиксированной ширины без проверки переполнения, хотя деление на 0 перехватывается и помечается как ошибка. Операторы и их приоритет, ассоциативность и значения такие же, как в языке Си. …

2
Убить процесс, если он затихает в течение определенного времени
У меня есть утилита, которая имеет неприятную привычку молчать и оставаться там, я уже знаю, как долго в процессе она делает это, поэтому я использую timeoutдля борьбы с этим, но иногда она делает это раньше того времени. Есть ли такой инструмент timeout, который убьет процесс, если он прекратит направлять вывод …
9 linux  bash  shell  stdout  timeout 


5
Как запустить программу в фоновом режиме
Программа Boblight не работает в фоновом режиме. Там нет заметной разницы между выполнением sudo boblightd а также sudo boblightd& Как я могу решить эту проблему, чтобы консоль не блокировала дальнейшие вводы? pi@raspberrypi ~/boblight/boblightd-for-raspberry-master $ sudo boblightd Boblightd 2.0 (optimized version for raspberry) (c) 2013 Speedy1985 and Heven) (InitLog) start of …


1
Как выводить переменные, используя cat в файл?
У меня есть простой скрипт, как это: #!/bin/bash BOO=bla-bla-bla cat > ./Makefile <<'EOF' Hello INCLUDES := -I/data/opt/include/ -Ideps/ -I$BOO/include EOF Все же это выводит в файл: Hello INCLUDES := -I/data/opt/include/ -Ideps/ -I$BOO/include Как заставить catиспользовать мои значения переменных, а не имена внутри этой строки?



2
Как мне избежать имени подкаталога с амперсандом в нем?
Запуск kornshell и попытка пройти по дереву каталогов. Хотите перейти в подкаталог с именем: -3ab_&_-3dc.img Мой вопрос: КАК мне нужно бежать от амперсанда в этом имени? Я пробовал разные комбинации двойных кавычек и обратной косой черты без успеха.

3
case + как реализовать равный или меньший или больший в случае синтаксиса case
Моя цель - проверить диапазон числа с помощью (только с case+ esac) и распечатать диапазон. Так, например: Если число находится в диапазоне от 0 до 80, выведите >=0<=80 Если число находится между 81 и 100, напечатайте >=81<=100 и т.п. Проблема с моим сценарием, приведенным ниже, печатается только в том >=0<=90случае, …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.