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

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

2
Как вызвать функцию внутри другой функции
Я работаю на самом деле в сценарии оболочки для мониторинга ресурсов сервера. У меня есть функция, и я хочу знать: как я могу вызвать вторую функцию внутри основной? Пример: funct mainfunct(){ echo "Text to show here" **$secondfunct** } funct secondfunct(){ commands }
12 shell  scripting 

2
Клавиша со стрелкой / Войти в меню
Как создать меню в сценарии оболочки, которое будет отображать 3 параметра, которые пользователь будет использовать клавиши со стрелками для перемещения курсора выделения и нажмите Enter, чтобы выбрать один?


3
Почему sh (не bash) жалуется на функции, определенные в моем .bashrc?
Я получаю это, когда я открываю терминальную сессию: sh: ошибка импорта определения функции для `read.json ' sh: ошибка импорта определения функции для `ts-project ' sh не любит эти функции, потому что они выглядят так: read.json(){ :: } и ts-project(){ :: } реальный вопрос - зачем shтрогать / интерпретировать эти файлы? …

3
Как я могу генерировать аргументы для другой команды с помощью подстановки команд
Вслед за: неожиданное поведение при подстановке команд оболочки У меня есть команда, которая может принять огромный список аргументов, некоторые из которых могут законно содержать пробелы (и, возможно, другие вещи) Я написал скрипт, который может генерировать эти аргументы для меня, с кавычками, но я должен скопировать и вставить вывод, например ./somecommand …

2
Опасно ли запускать эхо без кавычек?
Я видел пару похожих тем, но они не ссылаются на переменные, которые, как я знаю, могут привести к нежелательным результатам. Я видел этот код, и мне было интересно узнать, можно ли внедрить что-то для запуска при выполнении этой строки кода: echo run after_bundle
11 shell  security  quoting  echo 

4
Почему содержимое JSON из heredoc не может быть разобрано?
У меня есть фрагмент JSON. Следующее не работает: VALUE=<<PERSON { "type": "account", "customer_id": "1234", "customer_email": "jim@gmail.com" } PERSON echo -n "$VALUE" | python -m json.tool Результат: Ни один объект JSON не может быть декодирован Делать то же самое с jq, т.е. echo -n "$VALUE" | jq '.' Нет выхода. Существует …

3
Запуск сценария оболочки, когда «/ bin / sh» указывает на «/ bin / bash»
Я прочитал следующее в этом вопросе : bash поддерживает ключ --posix, что делает его более совместимым с POSIX. Он также пытается имитировать POSIX, если вызывается как sh . Выше цитата предполагает, что /bin/shэто ссылка, на которую указывает /bin/bash. Но я не совсем понимаю, что подразумевается под словом «вызывается как sh» …
11 linux  bash  shell 

3
Как анализируются аргументы удаленной командной строки ssh
Я видел вопросы и ответы о необходимости двойного экранирования аргументов для удаленных команд ssh. Мой вопрос: где и когда будет выполнен второй разбор? Если я запускаю следующее: $ ssh otherhost pstree -a -p Я вижу следующее в выводе: |-sshd,3736 | `-sshd,1102 | `-sshd,1109 | `-pstree,1112 -a -p Родительский процесс для …
11 bash  shell  ssh  process  quoting 

4
Как использовать `find` для перехода в каталог этого файла
Я хочу найти файл, а затем ввести каталог, содержащий его. Я пытался, find /media/storage -name "Fedora" | xargs cdно, конечно, я is not a directoryошибка. Как мне ввести его родительский каталог с помощью однострочной команды?
11 shell  find  xargs  cd-command 

1
Есть ли элегантный способ установить переменную оболочки для содержимого файла?
Скажем, у меня есть некоторые данные конфигурации в файле config. Для удобства я хотел бы загрузить эти данные в переменную оболочки CONFIG_DATA. Очевидно, я могу сделать: CONFIG_DATA="$(cat config)" Но это своего рода бесполезное использованиеcat для меня. Это единственный способ сделать это? Или есть более элегантный способ сделать это? Ответы должны …

4
Как определить количество времени, оставшегося в «сне»?
У меня есть: sleep 210m && for i in $(seq 1 5); do echo -e '\a'; sleep 0.5; done работает как простой, без излишеств таймер, чтобы напомнить мне, когда что-то должно быть сделано. Это sleep 210mPID 25347. Я пытаюсь выяснить, сколько времени осталось во сне. Лучшее, что я придумал, когда …
11 shell  sleep 

1
никогда не используйте оператор `-a` или` -o` с `[`
Стефан Шазелас писал: несколько правил, таких как всегда указывать переменные никогда не используйте оператор -aor -o(используйте несколько [команд &&и ||операторы и shell) Сделать [надежным с POSIX снарядами. Почему "никогда не используйте оператор -aили -o"? Как я могу сделать "использовать несколько [команд &&и ||операторы и операторы оболочки)"?
11 bash  shell  test 

2
Является ли вложенная оболочка тем же, что и дочерняя оболочка?
Есть два имени: подоболочка и дочерняя оболочка . Да, дочерний процесс будет запущен любым из этого: sh -c 'echo "Hello"' ( echo "hello" ) echo "$(echo "hello") echo "hello" | cat Все ли эквивалентны и имеют одно и то же имя? Все ли имеют одинаковые свойства? POSIX имеет это определение …

1
Псевдоним Bash с пробелом в составе команды
Я пытаюсь создать псевдоним bash, в котором сам псевдоним содержит пробел. Идея в том, что псевдоним (т.е. con) означает sudo openvpn --config /path/to/my/openvpn/configs/. Что приводит к читаемой команде, когда используется conпсевдоним. то есть: `con uk.conf` == `sudo openvpn --config /path/to/my/openvpn/configs/uk.conf` Я понимаю , что я не могу объявить псевдоним , …

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