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

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

623
Как выполнить поиск для нескольких шаблонов с шаблоном, имеющим символ трубы?

Я хочу найти все строки в нескольких файлах, которые соответствуют одному из двух шаблонов. Я попытался найти шаблоны, которые я ищу, набрав grep (foo|bar) *.txt но оболочка интерпретирует это |как канал и жалуется, когда barне является исполняемым файлом. Как я могу grep для нескольких шаблонов в...

396
Отключить буферизацию в трубе

У меня есть скрипт, который вызывает две команды: long_running_command | print_progress В long_running_commandпечатает прогресс , но я несчастна с ним. Я использую, print_progressчтобы сделать его более приятным (а именно, я печатаю прогресс в одной строке). Проблема: подключение канала к stdout...

349
Как удалить файл, имя которого начинается с «-» (дефис или минус)?

Как удалить файл, имя которого начинается с тире (дефис или минус) -? Я ssh'd на удаленном сервере OSX, и у меня есть этот файл в моем каталоге: tohru:~ $ ls -l total 8 -rw-r--r-- 1 me staff 1352 Aug 18 14:33 --help ... Как в мире я могу удалить --helpиз CLI? Эта проблема иногда встречается в...

332
Как мне использовать команды pushd и popd?

Каковы практические применения обоих pushdи popdкогда есть преимущество использования этих двух команд над cdи cd -? РЕДАКТИРОВАТЬ : я ищу некоторые практические примеры использования обеих этих команд или причин для сохранения стека с каталогами (когда у вас есть завершение табуляции cd -,...

329
Почему бы не использовать «который»? Что использовать тогда?

Ища путь к исполняемому или проверить , что произойдет , если ввести имя команды в оболочке Unix, существует множество различных утилит ( which, type, command, whence, where, whereis, whatis, hashи т.д.). Мы часто слышим, что этого whichследует избегать. Почему? Что мы должны использовать вместо...

318
Разница между Оболочкой входа в систему и Оболочкой без регистрации?

Я понимаю основное различие между интерактивной оболочкой и неинтерактивной оболочкой. Но что именно отличает оболочку входа в систему от оболочки без регистрации? Можете ли вы привести примеры использования интерактивной оболочки без регистрации...

301
Как добавить несколько строк в файл

Я пишу bash-скрипт для поиска файла, если он не существует, затем создайте его и добавьте к нему: Host localhost ForwardAgent yes Так что "line then new line 'tab' then text"я думаю, что это чувствительный формат. Я знаю, что вы можете сделать это: cat temp.txt >> data.txt Но это кажется...

295
Как выполнять целочисленные и плавающие вычисления в bash или других языках / фреймворках?

Использование echo "20+5"буквально производит текст " 20+5". Какую команду я могу использовать, чтобы получить числовую сумму, 25в этом случае? Кроме того, какой самый простой способ сделать это, просто используя bash для чисел с плавающей запятой? Например, echo $((3224/3807.0))печатает 0:(. Я ищу...

285
Почему мой сценарий оболочки заглушает пробелы или другие специальные символы?

Или вводное руководство по надежной обработке имени файла и другой передаче строк в сценариях оболочки. Я написал сценарий оболочки, который работает хорошо большую часть времени. Но он душит некоторые входные данные (например, некоторые имена файлов). Я столкнулся с такой проблемой, как: У меня...

266
Как работает ошибка сегментации под капотом?

Похоже, я не могу найти какую-либо информацию по этому поводу, кроме того, что «MMU ЦП посылает сигнал» и «ядро направляет его в вызывающую программу, завершая ее». Я предположил, что он, вероятно, отправляет сигнал в оболочку, а оболочка обрабатывает его, завершая ошибочный процесс и печать...

262
Окраска вашего терминала и оболочки?

Я провожу большую часть своего времени, работая в среде Unix и используя эмуляторы терминала. Я пытаюсь использовать цвет в командной строке, потому что цвет делает вывод более полезным и интуитивно понятным. Какие варианты существуют, чтобы добавить цвет в мою терминальную среду? Какие трюки вы...

254
Как получить pid последней выполненной команды в скрипте оболочки?

Я хочу, чтобы скрипт оболочки был таким: my-app & echo $my-app-pid Но я не знаю, как получить pid только что выполненной команды. Я знаю, что могу просто использовать jobs -p my-appкоманду для grep pid. Но если я хочу выполнить оболочку несколько раз, этот метод не будет работать. Потому что...

249
Каковы операторы управления и перенаправления оболочки?

Я часто вижу онлайн-уроки, которые соединяют различные команды с разными символами. Например: command1 | command2 command1 & command2 command1 || command2 command1 && command2 Другие, кажется, соединяют команды с файлами: command1 > file1 command1 >> file1 Что это за вещи? Как...

248
В чем разница между операторами Bash [[vs [vs (vs ((?)

Я немного запутался в том, что эти операторы делают по-разному при использовании в bash (скобки, двойные скобки, круглые скобки и двойные скобки). [[ , [ , ( , (( Я видел, как люди используют их, если такие заявления: if [[condition]] if [condition] if ((condition)) if (condition)...