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

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

2
Як баш ставиться ">> ()"
Експериментуючи з перенаправленням виводу та підстановкою процесу, я натрапив на таку команду та її результат: me @ elem: ~ $ echo foo>> (кіт); ехо-бар бар me @ elem: ~ $ foo (Так, порожній новий рядок в кінці є навмисним.) Таким чином, баш ехо-смуги, друкує мою звичайну підказку, луна ехо, ехо …

3
Чим відрізняється команда pbrun від sudo?
У чому різниця між pbrun і SUDO командою? Я бачив, як люди виконують pbrun sudo su - що це означає? Я знаю, що так - він спробує перейти на root користувача. Яку спеціальність pbrun надає sudo, коли він використовується разом із командою sudo?

2
Запустіть іншу команду перед тим, як запустити команду, яку користувач хоче виконати
Скажімо, я хочу змінити оригінальну поведінку lsінструменту таким чином: $ ls Hello World file1 file2 ... Як я можу це зробити? Під час запуску lsя хотів би запустити ще одну команду, скажімо echo "Hello World!". Яке швидке рішення, як я бачу, використовує псевдонім: alias orig_ls="ls" alias ls='echo "Hello World!"' Однак …

2
Якщо якісь спарені дочірні процеси провалюються, вбийте всіх і вийдіть
У своєму скрипті я розділив набір даних на input_aa, input_ab тощо. Потім я запускаю кожен через той самий сценарій Python як такий: # Execute program on each split file for part in input_*; do python3 $part & done wait Моє запитання двояке: як я можу виявити, що процес Python не …
9 bash  shell  python 

1
Як ksh93 так швидко?
Тож, загалом, я схильний шукати sedобробку тексту - особливо для великих файлів - і зазвичай уникаю робити подібні речі в самій оболонці. Я думаю, що це може змінитися. Я ковтав навколо, man kshі я помітив це: <#pattern Seeks forward to the beginning of the next line containing pattern. <##pattern The …

2
Як я можу умовно пропустити абонемент через "час"?
У мене є сценарій налаштування вікна Vagrant, в якому я використовував для вимірювання окремих кроків time. Тепер я хотів би умовно включити або вимкнути вимірювання часу. Наприклад, раніше лінія виглядала б так: time (apt-get update > /tmp/last.log 2>&1) Тепер я подумав, що можу просто зробити щось подібне: MEASURE_TIME=true [[ $MEASURE_TIME …
9 bash  shell  quoting  time 

5
Чи можу я підключитися до команди CD?
Я намагаюся налаштувати щось на сервері, на якому я запускаю, коли коли-небудь я cdпотрапляю в public_htmlпапку в 95% часу, є кілька команд, які я завжди запускаю, щоб перевірити певні речі. Чи все-таки я можу підключитися до cdцього, якщо каталог - це public_html, він автоматично запускає команди для мене? Якщо я …

2
Перевага && vs & bash та zsh
Відповідаючи на це запитання, я виявив дуже смішну (і тонку) різницю між поведінкою bashта zsh: В bash: romano@RRyS:~$ pwd /home/romano romano@RRyS:~$ alias x="cd /bin && ./echo A >/dev/null &" romano@RRyS:~$ x [1] 16611 romano@RRyS:~$ pwd /home/romano Як бачимо, виконання псевдоніму xвиконується в підрозділі, і тому поточний каталог не змінюється. Не …
9 bash  shell  zsh 

4
Несподівана помилка EOF та синтаксису
В даний час я пишу свій третій сценарій оболонки, і я зіткнувся з проблемою. Це мій сценарій поки: #!/bin/bash echo "choose one of the following options : \ 1) display all current users \ 2) list all files \ 3) show calendar \ 4) exit script" while read do case …

2
Чи можливо використовувати змінні параметрів оболонки ($ 1,…, $ @) безпосередньо в CLI?
Іноді доводиться емулювати та перевіряти вищезазначені змінні в невеликих прикладах, а потім можна негайно скопіювати у якийсь сценарій тощо. Я намагався вирішити, використовуючи простий приклад, такими способами: (find $1) /tmp sh -c '(find $1) /tmp' sh -c "find $1" /tmp echo '(find $1) /tmp' | sh та з іншими комбінаціями. …

3
Динамічно обрізати ширину лінії відтінку в Bash
Останнім часом я експериментую з psкомандою, а іноді довгі шляхи перебираються на наступний рядок (або два) і ускладнюють читання. Я хочу передати psвихід в іншу програму, щоб обмежити вихід на xкількість символів. Ось що я маю поки що, але це працює не зовсім правильно: ps aux | cut -c1-$(stty size …
9 bash  shell  stdout  cut 

4
Як читати вхід користувача з труби?
Припустимо, у мене є файл, названий confirmation.shіз таким вмістом: #!/bin/bash echo -n "Are you sure [Y/n]? " read line case "$line" in n|N) echo "smth" ;; y|Y) echo "smth" ;; esac і я хочу запустити цей скрипт наступним чином: cat confirmation.sh | sh Бачу, Are you sure [Y/n]?і сценарій переривається. …

1
Яке обґрунтування, що оболонка баша не застерігає вас від арифметичного переповнення тощо?
Існують обмеження, встановлені для можливостей оцінки арифметичної bashоболонки. Посібник є стислим щодо цього аспекту арифметики оболонки, але зазначено : Оцінювання проводиться в цілих цілих числах без перевірки на переповнення, хоча ділення на 0 захоплюється і позначається як помилка. Оператори та їх пріоритет, асоціативність та значення такі самі, як у мові …

2
Вбийте процес, якщо він проходить тихо протягом певного часу
У мене є утиліта, яка має шкідливу звичку мовчати і залишатися там, я вже знаю, як довго в цьому процесі це робиться, тому я використовую timeoutдля боротьби з цим, але іноді це робить до цього часу. Чи є інструмент, подібний до timeoutтого, що вбиває процес, якщо він перестане направляти вихід …
9 linux  bash  shell  stdout  timeout 


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.