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

Вопросы о сценариях оболочки, исполняемых файлах, которые интерпретируются оболочкой (bash, zsh и т. Д.).

6
найди самые частые слова в файле
Я хочу найти, скажем, 10 самых распространенных слов в текстовом файле. Во-первых, решение должно быть оптимизировано для нажатия клавиш (другими словами - мое время). Во-вторых, для исполнения. Вот что у меня есть, чтобы получить топ-10: cat test.txt | tr -c '[:alnum:]' '[\n*]' | uniq -c | sort -nr | head …

2
Передача данных в стандартный поток процесса без последующего EOF
У меня есть исполняемый файл, который запускает интерактивную оболочку пользователя. Я хотел бы при запуске оболочки сначала ввести несколько команд, а затем разрешить пользователю проводить интерактивный сеанс. Я могу сделать это легко используя echo: echo "command 1\ncommand 2\ncommand3" | ./shell_executable Это почти работает. Проблема в том, что команда echo, которая …



1
Файловые дескрипторы и сценарии оболочки
Мне очень трудно понять, как использовать файловые дескрипторы в сценариях оболочки. Я знаю основы, такие как exec 5 > /tmp/foo Итак, fd 5 прикреплен к foo для записи. exec 6 < /tmp/bar … для чтения. exec 5>&- … Закрыть фд. Теперь, что это делает? #!/bin/bash exec 5 > /tmp/foo exec …

5
getopt, getopts или ручной синтаксический анализ - что использовать, когда я хочу поддерживать как короткие, так и длинные опции?
В настоящее время я пишу скрипт Bash, который имеет следующие требования: он должен работать на самых разных платформах Unix / Linux он должен поддерживать как короткие, так и (GNU) длинные опции Я знаю, что это getoptsбыло бы предпочтительным способом с точки зрения мобильности, но AFAIK это не поддерживает длинные варианты. …


2
В чем разница между kill, pkill и killall
Я знаком с killкомандой, и большую часть времени мы просто используем kill -9 для принудительного завершения процесса, есть много других сигналов, которые можно использовать kill. Но мне интересно, каковы случаи использования pkillи killall, если уже есть команда kill. Делать pkillи killallиспользовать killкоманды в их реализации? Я имею в виду, что …

8
Как эффективно генерировать большие, равномерно распределенные, случайные целые числа в bash?
Мне было интересно, что было бы лучшим способом получить хорошую случайность в bash, то есть, что было бы процедурой для получения случайного положительного целого числа между MINи MAXтаким, что Диапазон может быть сколь угодно большим (или, по крайней мере, скажем, до 2 32 с -1); Значения распределены равномерно (т. Е. …

1
SSH вызывает остановку цикла
Мне наконец удалось свести проблему, с которой я боролся в течение нескольких недель. Я использую SSH с «авторизованными ключами» для удаленного запуска команд. Все хорошо, кроме случаев, когда я делаю это в цикле. Цикл завершается после завершения любой итерации с помощью команды ssh. Долгое время я думал, что это что-то …

4
Есть ли оболочка JavaScript?
В последнее время я работаю с JS, и мне очень нравится этот язык. Я знаю, что есть node.js для запуска JS на стороне сервера, но есть ли оболочка, которая использует JS в качестве языка сценариев? Если такая вещь существует, насколько она полезна и стабильна?


3
Если я выполню sudo файл сценария Bash, все ли команды внутри сценария Bash также будут выполнены как sudo?
Я хочу написать автоматический скрипт после установки в Bash (называется post-install.sh, например). Скрипт автоматически добавляет и обновляет репозитории, устанавливает и обновляет пакеты, редактирует файлы конфигурации и т. Д. Теперь, если я выполню этот скрипт, например, с помощью sudo post-install.sh, мне будет предложено ввести sudoпароль только один раз, или мне нужно …

4
Почему set -e не работает внутри подоболочек с круглой скобкой (), за которой следует список ИЛИ ||?
Я недавно столкнулся с некоторыми сценариями, как это: ( set -e ; do-stuff; do-more-stuff; ) || echo failed Это выглядит хорошо для меня, но это не работает! set -eНе применяется, когда вы добавляете ||. Без этого все работает нормально: $ ( set -e; false; echo passed; ); echo $? 1 …

6
скрипт выхода из подоболочки
Рассмотрим этот фрагмент: stop () { echo "${1}" 1>&2 exit 1 } func () { if false; then echo "foo" else stop "something went wrong" fi } Обычно, когда funcвызывается, сценарий завершается, что является предполагаемым поведением. Тем не менее, если он выполняется в под-оболочке, например, в result=`func` это не выйдет …

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