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

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

6
Напівсинхронна труба
Припустимо, у мене є така труба: a | b | c | d Як я можу дочекатися завершення c(або b) в shчи bash? Це означає, що сценарій dможе запускатися будь-коли (і його не потрібно чекати), але cдля коректної роботи потрібен повний результат роботи. Випадок використання - це difftoolдля gitпорівняння зображень. …
11 bash  shell  pipe  fifo 

1
Очистіть старі рядки підказок у bash, щоб заощадити місце прокрутки
Моя тема терміналу раніше була такою, Але я думав, що підказка витрачає стільки місця. А згодом у мене з’явилося уявлення, що я можу прибирати підказку кожного разу, коли виконую команду. Я використовував bash, одним із рішень є використання preexec_invoke_execфункції. Я використовую таку команду для очищення останніх символів підказок: echo -ne …
11 bash  shell  terminal  prompt 

2
Порядок виводу із заміною процесу
Це те, що я зазвичай роблю для запуску grepта wcфайлу, не потребуючи його двічі сканувати <file.txt tee >(grep LITERAL) >(wc -l) >/dev/null Однак це дає EXEC LITERAL 32 іноді і 32 EXEC LITERAL в інший час. (Вихід з grepпередує виходу з wcпершої інстанції і навпаки у другому.) З іншого боку, …

3
Перенаправлення виводу з усіх команд у файл, а не лише останніх
Я хочу додати заголовок у файл із відлунням, а потім скористатися командою, щоб створити решту файлу. Це означає, що я буду використовувати дві окремі команди. Як записати вихід з обох команд у файл із перенаправленням? Я намагався echo "header line" | cut -c 1-5 input_file > output_file echo "header line"; …

5
Як безпечно поєднувати рядки, надруковані кількома програмами?
Припустимо, я хочу паралельно виконувати кілька програм і об'єднати їхні результати в одну трубу: sh -c ' (echo qqq; echo qqq2; echo qqq3)& (echo www; echo www2; echo www3)& (echo eee; echo eee2; echo eee3)& wait; wait; wait' Цей підхід оболонки добре працює в цьому простому випадку, але я очікую, …

2
Як називається функція оболонки `> (tee copyError.txt> & 2)`?
Мені потрібно увімкнути stdout та stderr на логіни, але лише показувати повідомлення про помилки на екрані. Я можу це зробити за допомогою: cp -rpv a/* b 1> copyLog.txt 2> >(tee copyError.txt >&2) Якого я знайшов десь в Інтернеті. Я просто хочу знати, як >(tee copyError.txt >&2)називається ця річ? Я не …
11 bash  shell 

2
Чи дійсно працює `kill -p`?
На сторінці man killце написано наступним чином СИНОПИС kill [ -s signal | -p ] [ -a ] [ -- ] pid ... kill -l [ signal ] -p Specify that kill should only print the process id (pid) of the named processes, and not send any signals. Але як …

5
Можливо, щоб отримати SMS / текстове повідомлення, коли процес закінчується або вбивається?
Існують сценарії, які надсилатимуть електронний лист після завершення серверного процесу. Однак я не хочу так часто перевіряти свою електронну пошту, щоб побачити, чи робота закінчена. Тому я хотів би отримати SMS-повідомлення. Моє запитання подібне до цього, просто обмінюйтесь SMS з усіма появами "електронної пошти": Чи існує програма, яка може надіслати …

2
Котирується проти без котирування розширення рядків
for i in $(xrandr); do echo "$i" ; done for i in "$(xrandr)"; do echo "$i"; done for i in "$(xrandr)"; do echo $i; done Я розумію, чому 1 відрізняється від 2. Але чому 3 дає інший вихід від 2? Будь-ласка, поясніть результат. Як цитати працюють на нових рядках?

10
Баш спосіб перевірити, чи процес вже запущений у фоновому режимі (і пропустити повторне виконання на основі цього)?
Чи можу я створити командний рядок bash, який виконує лише певну команду, якщо процес ще не працює (у фоновому режимі)? Як перевірити *, якщо команда вже запущена? (тож я можу додати наступну команду з &&проміжками між ними, тому наступна виконується лише у випадку, якщо перша правда). *: перевірити, визначити, виявити, …
11 bash  shell  process 

2
Зачекайте, коли X-вікно з’явиться / зникне (здоровим чином)
Всередині скрипту оболонки мені потрібно дочекатися появи вікна, на якому є рядок із заголовком, виконати якусь дію, а потім дочекатися його зникнення та зробити ще одну дію. До вчорашнього дня у мене був цей простий код. Проблема в ньому полягає в тому, що диск не може бути переведений в стан …
11 bash  shell  python  window 

2
Розгорнути передплановий пакет перед його виконанням?
Я часто запускаю команди за допомогою допоміжних оболонок, а іноді хотів би, щоб розширилися допоміжні оболонки перед тим, як щось запустити. Таким чином я міг би перевірити, що я роблю, і, можливо, редагувати те, що має відбутися також. Наприклад, як я можу змусити розширити наступний командний рядок перед тим, як …


7
Як використовувати змінну як частину імені масиву
У мене є два масиви: arrayA=(1 2 3) arrayB=(a b c) і я хочу роздрукувати одну з них, використовуючи аргумент командного рядка, тобто без жодного if else. Я спробував кілька варіантів синтаксису, не маючи успіху. Я хочу зробити щось подібне: ARG="$1" echo ${array${ARG}[@]} але я отримую помилку "поганої заміни". Як …
11 bash  shell 

2
Проблема в сценарії з пробілами в імені файлу
У мене є сценарій, що scp - файл з віддаленого хоста назад до локального. Іноді імена файлів містять пробіли. scp не любить пробілів у своїх іменах файлів. Чомусь мої спроби обробки пробілів не призвели до правильного шляху scp. Код: PATH=/var/root/Documents/MyFile OG-v1.2.3.pkg scp $PATH Me@10.1.10.33:/Users/Me/Desktop Призводить до Cannot find directory: var/root/Documents/MyFile …

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