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

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

2
Что не является специфичным для оболочки?
Под некоторыми ответами я вижу комментарии, которые рекомендуют избегать определенных команд оболочки в ответах. Как узнать, какие команды, операторы и т. Д. Существуют во всех оболочках? Есть ли список стандартов? man builtinsдает список команд. Это единственные команды, которые я могу использовать в переносимом сценарии оболочки, который работает во всех оболочках? …

1
Определите, есть ли у текущего пользователя разрешение на запись в каталог
Я знаю, что вы можете определить владельца каталога, выполнив: ls -ld ~/foo | awk '{ print $3 }' Затем вы можете сравнить его с текущим пользователем, выполнив это: if [[ $(ls -ld ~/foo | awk '{ print $3 }') == "$USER" ]] # or $(id -u -n ) instead of …

1
подтвержденный выход с использованием ловушки
Я пытаюсь перехватить Ctrl+Cсигнал, запрашивая подтверждение у пользователя. Ловушка работает нормально. Но как только сигнал попадает в ловушку, он не возвращается к нормальному выполнению. Вместо этого он выходит из сценария. Как заставить его возобновить выполнение, когда пользователь нажимает нет. вот мой код hell() { echo "Do you want to quit? …

6
Перенаправление ввода-вывода и команда head
.hgignoreСегодня я пытался быстро отредактировать файл из оболочки Cygwin bash и добавил строку, которая была ошибкой. Я не уверен, что это был лучший способ сделать это, но я быстро подумал об использовании head -1 .hgignoreдля удаления ошибочной строки (ранее у меня была только одна строка в файле). Конечно, при выполнении …

4
Почему я не могу получить выходные значения команды в этом скрипте bash?
Итак, я писал этот маленький скрипт наутилуса для перекодирования видео в mp3: #! /bin/bash -x if [ -z "$1" ] then zenity --warning --text="Error - No file selected !" exit 1 fi BASEFILENAME=${1%.*} exec ffmpeg -i "$1" -ab 256k "$BASEFILENAME.mp3" && if [ "$?" -eq 0 ] then zenity --info …
9 shell  exit 

1
Интерполяция знака доллара внутри кавычек в bash
Я запускаю этот маленький тестовый скрипт, который я написал: #!/bin/bash TESTCASE=$@ testHarness <<runTest $TESTCASE runTest из командной строки: ./test.sh "1092$212" но знак доллара снимается. Если я убегу, это сработает. Но я думал, что двойные кавычки защитят меня от необходимости делать это. Может кто-нибудь, пожалуйста, помогите мне понять, что происходит и …
9 bash  shell  quoting 

2
Как управлять огромным количеством файлов в оболочке?
$ ls ./dir_with_huge_amount_of_files/errors/ Предположим, что каталог полон картинок с метками времени Unix, я имею в виду много измеренных во многих ГБ или даже больше. Команды оболочки вроде lsбудут получать предупреждения в стиле переполнения, потому что они не предназначены для работы с миллионами (или более) изображений. Как я могу управлять таким …

3
Делать две вещи с выводом из команды
У меня есть программа, texcountкоторая выводит количество слов в моем документе LaTeX. Я также могу направить выходные данные этого, чтобы sedсделать переносы строк TeX newlines и записать это в файл, который я могу затем включить в мой окончательный документ. Но когда я делаю texcount foo.tex | sed s/$/'\\\\'/ > wc.texвывод …

1
Какие шаги выполняет система при обработке соединения SSH?
Какие шаги выполняет система при обработке соединения SSH? Мы пытаемся войти через SSH sshd запускает модуль pam и pam для аутентификации В зависимости от конфигурации pam, мы должны предоставить имя пользователя и пароль (проверки pam passwdи shadowфайлы) ПАМ проверяет hosts.allow/deny, /etc/shellsи другие вещи Если все идет хорошо, мы вошли в …
9 shell  ssh  pam 

1
Как получить длинный список для одного каталога?
Я хочу увидеть длинный список для одного каталога. Когда я печатаю ls -lha, я вижу это: drwxrwxr-x 4 username groupname 4.0K 2010-08-05 09:55 files drwxrwxr-x 7 username groupname 4.0K 2010-08-05 14:25 trunk drwxrwxr-x 8 username groupname 4.0K 2010-08-05 16:02 phpincludes drwxrwxr-x 11 username groupname 4.0K 2010-07-26 12:31 phpMyAdmin-3.3.5-english Тем не …

3
Как проверить, является ли stdin / dev / null из оболочки?
В Linux есть ли способ для сценария оболочки проверить, перенаправлен ли его стандартный ввод с нулевого устройства (1, 3) * , в идеале, ничего не читая? Ожидаемое поведение будет: ./checkstdinnull -> no ./checkstdinnull < /dev/null -> yes echo -n | ./checkstdinnull -> no EDIT mknod secretunknownname c 1 3 exec …
9 linux  shell  devices  stdin 

4
Как сохранить и восстановить все параметры оболочки, включая errexit
Я прочитал много вопросов на различных сайтах обмена стека и справочных форумах Unix о том, как изменить параметры оболочки, а затем восстановить их - наиболее полный вопрос, который я нашел здесь, находится в разделе Как «отменить» `set -x`? Получил мудрость , как представляется, либо сохранить от результата set +oили , …
9 bash  shell 

1
Разница между systemd и программой запуска терминала
Мне любопытно, какова эта разница между программами; запускается с systemd при включении через systemctl, против тех, которые запускаются с помощью /etc/rc.localили через CLI. Например, недавно я использовал shairport-sync для Raspberry Pi. Изначально я установил запуск shairport-sync с помощью sudo systemctl с включенным shairport-sync. Позже я использовал функциональность shairport-syncдля запуска сценариев …

2
Что происходит с фоновыми заданиями после выхода из оболочки?
Из моего понимания, рабочие места трубопроводы начали с определенной оболочкой , и вы можете управлять этими заданиями ( fg, bg, Ctrl-Z) внутри этой оболочки. Задание может состоять из нескольких процессов / команд. Мой вопрос: что происходит с этими заданиями, когда выходит оригинал, содержащий оболочку? Предположим, что huponexit не установлен, поэтому …
9 shell  process  kill  jobs 

1
Возможно ли использовать эксплойт в скрипте bash?
Я хочу передать адрес электронной почты из веб-формы скрипту bash. Я использую следующее регулярное выражение: /[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}/ Достаточно ли этого? Или можно было внедрить подвиг? Скрипт вызывается из PHP: system('/usr/local/bin/script.sh "$email"');

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