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

11
Список имен псевдонимов, функций и переменных в zsh

Мне нужен способ перечислить имена (без тела / содержимого / значения) псевдонимов, функций, переменных, массивов в Zsh. Оптимально он должен вести себя так compgen: compgen -a # will list all the aliases you could run. compgen -A function # will list all the functions you could run. compgen -A...

11
Официальный стандарт / соглашение для расширения файла для сценариев оболочки к источнику

Мне было интересно, существует ли соглашение для расширений типов файлов для сценариев оболочки, которые вы хотите использовать вместо запуска. Например: Если я хочу запустить этот скрипт в подоболочке. ./script.sh Если я хочу не забыть запустить этот скрипт из текущей оболочки. . script.source...

11
Можно ли выполнить подстановку команд оболочки без использования подоболочки?

У меня есть сценарий, который требует подстановки команд без использования подоболочки. У меня есть такая конструкция: pushd $(mktemp -d) Теперь я хочу выйти и удалить временный каталог за один раз: rmdir $(popd) Однако это не работает, потому popdчто не возвращает перенесенный каталог (он...

11
Как определить количество времени, оставшегося в «сне»?

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

11
Есть ли элегантный способ установить переменную оболочки для содержимого файла?

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

11
Форматирование текста в столбцы

У меня есть файл с двумя столбцами, как показано ниже (пример): ФАЙЛ 1: John 1 Peter 2 Michael Rod 3 Su 7 Louise 9 Мне нужно отформатировать это, и мой ожидаемый результат должен быть: ФАЙЛ 1: John 1 Peter 2 Michael Rod 3 Su 7 Louise...

11
Подстановка процессов в GNU Makefiles

В командной строке bash можно выполнить diff, используя псевдо-файлы: diff <(echo test) <(echo test) Добавление этого как есть в Makefile завершается неудачно: all: diff <(echo test) <(echo test) Ошибка (подсказка: / bin / sh указывает на / bin / bash в этой системе): /bin/sh: -c: line...

11
Как анализируются аргументы удаленной командной строки ssh

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

11
Запуск сценария оболочки, когда «/ bin / sh» указывает на «/ bin / bash»

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

11
Прочитать файл, ориентированный на строку, который может не заканчиваться символом новой строки

У меня есть файл с именем, /tmp/urlFileгде каждая строка представляет URL-адрес. Я пытаюсь прочитать из файла следующее: cat "/tmp/urlFile" | while read url do echo $url done Если последняя строка не заканчивается символом новой строки, эта строка не будет прочитана. Мне было интересно, почему?...

11
Почему содержимое 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...

11
оболочка posix: вывод списка имен переменных среды (без значений)

Как posix-совместимый способ, который работает с несколькими реализациями, как я могу напечатать список в настоящее время определенной переменной среды без их значений? В некоторых реализациях (mksh, freebsd / bin / sh) простое использование exportподойдет: $ export FOO2 FOO Но для некоторых других...

11
Опасно ли запускать эхо без кавычек?

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

11
Использование заключающих в скобки {} в качестве аргументов команд и их параметров

Примеры Недавно я нашел примеры использования пар заключающих в скобки паролей {}, между которыми нет открывающей и закрывающей скобок, в качестве аргументов команд и даже их параметров: cat foo | xargs -I{} echo {} find . -size 0 -exec rm -i {} \; Нет документации Моя проблема в том, что я не могу...

11
Как я могу генерировать аргументы для другой команды с помощью подстановки команд

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

11
Многострочная команда: закомментировать одну строку

Мне нравится использовать следующий формат в сценариях для команд с большим количеством параметров (для удобства чтения): docker run \ --rm \ -u root \ -p 8080:8080 \ -v jenkins-data:/var/jenkins_home \ -v /var/run/docker.sock:/var/run/docker.sock \ -v "$HOME":/home \ jenkinsci/blueocean Но иногда...

11
Оберните все цифры в JSON кавычками

Есть данные JSON, которые содержат некоторые числовые значения. Как преобразовать все цифры в строки? (завернуть в кавычки) Пример: { "id":1, "customer":"user", "plate":"BMT-216-A", "country":"GB", "amount":1000, "pndNumber":20000, "zoneNumber":4 } должен стать { "id":"1", "customer":"user",...