Запитання з тегом «shell»

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

2
Запускайте команди паралельно і чекайте, коли одна група команд закінчиться, перш ніж починати наступну
У мене є сценарій, що включає декілька команд. Як можна згрупувати команди для запуску разом (я хочу скласти кілька груп команд. У межах кожної групи команди повинні працювати паралельно (одночасно). Групи повинні виконуватись послідовно, чекаючи, коли одна група закінчиться перед запуском наступна група) ... тобто #!/bin/bash command #1 command #2 …


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

3
Як я можу генерувати аргументи для іншої команди за допомогою підстановки команд
Слідом за: несподівана поведінка підстановки командної оболонки У мене є команда, яка може взяти величезний перелік аргументів, деякі з яких можуть законно містити пробіли (і, можливо, інші речі) Я написав сценарій, який може генерувати ці аргументи для мене з цитатами, але я повинен скопіювати та вставити вихід, наприклад ./somecommand <output …

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
Як аналізуються аргументи віддаленого командного рядка ssh
Я бачив запитання та відповіді про те, що потрібно подвоїти аргументи для віддалених команд ssh. Моє запитання: саме де і коли відбувається другий аналіз? Якщо я запускаю наступне: $ ssh otherhost pstree -a -p У висновку я бачу таке: |-sshd,3736 | `-sshd,1102 | `-sshd,1109 | `-pstree,1112 -a -p Батьківський процес …
11 bash  shell  ssh  process  quoting 

3
Запуск сценарію оболонки, коли "/ bin / sh" вказує на "/ bin / bash"
У цьому запитанні я прочитав наступне : bash підтримує перемикач --posix, що робить його більш сумісним з POSIX. Він також намагається імітувати POSIX, якщо його викликають як sh . Вищенаведена цитата передбачає, що /bin/shце посилання, на яке вказує /bin/bash. Але я не зовсім розумію, що розуміється під "посиланням як sh" …
11 linux  bash  shell 

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` разом з `[`
Стефан Шазелас написав: кілька правил, як завжди цитуйте змінні ніколи не використовувати -aабо -oоператор (використовувати кілька [команд і &&та ||оболонки операторів) Зробіть [надійними за допомогою оболонок 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.