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

Для запитань щодо сценаріїв, написаних для командної оболонки Bash. Для скриптів оболонки з помилками / синтаксичними помилками, будь ласка, перевірте їх у програмі shellcheck (або на веб-сервері шелчек за адресою https://shellcheck.net) перед публікацією тут. Питання щодо інтерактивного використання Bash, швидше за все, будуть теми на Super User, ніж на переповнення стека.

3
Як створити сценарій налаштування?
Це може здатися дуже загальним запитанням, але тут справа йде. У мене є вимога , щоб створити скрипт конфігурації для мого програми, в результаті цього Configure буде генеруються makefile(основні configure, make, make install). Моє питання полягає в тому, з чого я починаю будувати це? Чи є приклад, з якого я …

6
Як я можу надіслати stdout одного процесу для кількох процесів, використовуючи (бажано неназвані) канали в Unix (або Windows)?
Я хотів би перенаправити stdout процесу proc1 на два процеси proc2 і proc3: proc2 -> stdout / proc1 \ proc3 -> stdout я намагався proc1 | (proc2 & proc3) але це, здається, не працює, тобто echo 123 | (tr 1 a & tr 1 b) пише b23 to stdout замість …
79 windows  bash  unix  shell  pipe 

1
Комбінації клавіш Bash у iTerm, такі як Alt + d та Alt + f [закрито]
Зачинено. Це питання не відповідає вимогам щодо переповнення стека . Наразі відповіді не приймаються. Хочете покращити це питання? Оновіть питання, щоб воно було актуальним для переповнення стека. Закрито 7 років тому . Удосконалюйте це питання Усі на роботі рекомендували мені iTerm2 замість рідного терміналу. Але iTerm2, здається, не дозволяє мені …

2
Як призначити вихід команди в масив?
Мені потрібно призначити результати з grepмасиву ... наприклад grep -n "search term" file.txt | sed 's/:.*//' В результаті з’явилася купа рядків із номерами рядків, у яких був знайдений пошуковий термін. 1 3 12 19 Який найпростіший спосіб призначити їх масиву bash? Якщо я просто присвоюю їм змінну, вони стають рядком, …

6
Як я можу назвати `` git pull '' з Python?
Використовуючи веб-хуки github, я хотів би мати можливість внести будь-які зміни на віддалений сервер розробки. На даний момент, коли знаходиться у відповідному каталозі, git pullотримує будь-які зміни, які потрібно внести. Однак я не можу зрозуміти, як викликати цю функцію з Python. Я спробував наступне: import subprocess process = subprocess.Popen("git pull", …
79 python  git  bash  github 

11
unix - кількість стовпців у файлі
Дано файл із такими даними (тобто файл stores.dat) sid|storeNo|latitude|longitude 2|1|-28.03720000|153.42921670 9|2|-33.85090000|151.03274200 Якою буде команда для виведення кількості імен стовпців? тобто у наведеному вище прикладі це буде 4. (кількість символів контуру + 1 у першому рядку) Я думав приблизно так: awk '{ FS = "|" } ; { print NF}' stores.dat …
79 linux  bash  shell  unix  scripting 

5
Як я можу порахувати випадки появи рядка у файлі?
Просто візьміть цей код як приклад. Роблячи вигляд, що це HTML / текстовий файл, якщо я хотів би знати загальну кількість разів, що echoз’являється, як я можу це зробити за допомогою bash? new_user() { echo "Preparing to add a new user..." sleep 2 adduser # run the adduser program } …
79 bash  search 

2
Пояснення оператора двокрапки у “: $ {foo = value}”
Я розумію оператор двокрапки в bash, який діє як нуль , і знаю, що він використовується для розширення параметрів , а також використовується іншими способами, але хтось може пояснити це: : ${SOMETHING='value'} З експериментів я знаю , що це встановлює змінну оточення , $SOMETHINGщоб , 'value'але чому? "Просто тому, що …
79 bash 

10
Як уникнути подвійних та одинарних лапок у sed?
З того, що я можу знайти, коли ви використовуєте одинарні лапки, все всередині вважається буквальним. Я хочу це для своєї заміни. Але я також хочу знайти рядок, який має одинарні або подвійні лапки. Наприклад, sed -i 's/"http://www.fubar.com"/URL_FUBAR/g' Я хочу замінити "http://www.fubar.com" на URL_FUBAR. Як sed повинен розпізнати мої // або …
79 bash  command-line  sed 

16
Захопіть stdout і stderr у різні змінні
Чи можна зберігати або захоплювати stdout та stderr у різних змінних , не використовуючи тимчасовий файл? Зараз я роблю це, щоб ввести stdout outта stderr під errчас запуску some_command, але я хотів би уникати тимчасового файлу. error_file=$(mktemp) out=$(some_command 2>$error_file) err=$(< $error_file) rm $error_file


4
Як перевірити перший символ у рядку в оболонці Bash або UNIX?
Я пишу сценарій в UNIX, де я повинен перевірити, чи є перший символ у рядку "/", а якщо він - гілка. Наприклад, у мене є рядок: /some/directory/file Я хочу, щоб це повернуло 1, і: server@10.200.200.20:/some/directory/file повернути 0.

8
команда cut або awk для друку першого поля першого рядка
Я намагаюся надрукувати перше поле першого рядка виводу. Ось справа. Мені просто потрібно друкувати лише SUSEз цього виводу. # cat /etc/*release SUSE Linux Enterprise Server 11 (x86_64) VERSION = 11 PATCHLEVEL = 2 Пробували, cat /etc/*release | awk {'print $1}'але це друкує перший рядок кожного рядка SUSE VERSION PATCHLEVEL
78 linux  bash  unix  awk 

7
Як об’єднати один каталог в інший за допомогою Bash?
Я шукаю сценарій оболонки, який об’єднує файли з одного каталогу в інший. Зразок: html/ a/ b.html index.html html_new/ a/ b2.html b.html Використання: ./mergedirs.sh html html_new Результат: html/ a/ b.html b2.html index.html html/a/b.htmlбуло замінено на html_new/a/b.html html/a/b2.htmlскопійовано з html_new/a/b2.html html/index.htmlбуло збережено незайманим

13
Як витягти час тривалості з виводу ffmpeg?
Щоб отримати багато інформації про медіафайл, це можна зробити ffmpeg -i <filename> де він виведе багато рядків, один зокрема Duration: 00:08:07.98, start: 0.000000, bitrate: 2080 kb/s Я хотів би виводити лише результати 00:08:07.98, тому намагаюся ffmpeg -i file.mp4 | grep Duration| sed 's/Duration: \(.*\), start/\1/g' Але друкується все, і не …
78 linux  bash  ffmpeg 

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