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

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

12
Як "перехопити" безперервний потік?
Чи можливо це використовувати grepв безперервному потоці? Що я маю на увазі, це свого роду tail -f <file>команда, але з grepвиведенням, щоб зберегти лише ті рядки, які мене цікавлять. Я намагався, tail -f <file> | grep patternале здається, що grepйого можна виконати лише один раз, коли tailзакінчується, тобто ніколи.
729 linux  bash  shell  grep  tail 

21
Витягнути підрядку в Bash
Давши ім’я файлу у формі someletters_12345_moreleters.ext, я хочу витягнути 5 цифр і помістити їх у змінну. Отже, щоб підкреслити суть, у мене є ім'я файлу з x числом символів, потім п'ятизначна послідовність, оточена одиничним підкресленням з обох боків, а потім іншим набором символів x. Я хочу взяти п'ятизначне число і …
728 string  bash  shell  substring 

9
Перевірте кількість аргументів, переданих сценарію Bash
Я хотів би, щоб мій сценарій Bash надрукував повідомлення про помилку, якщо необхідний кількість аргументів не виконано. Я спробував наступний код: #!/bin/bash echo Script name: $0 echo $# arguments if [$# -ne 1]; then echo "illegal number of parameters" fi З незрозумілої причини у мене виникла така помилка: test: line …

7
Як в сценарії Bash, як я можу вийти з цілого сценарію, якщо виникає певна умова?
Я пишу сценарій у Bash, щоб перевірити якийсь код. Однак здається, що запускати тести нерозумно, якщо компілювання коду в першу чергу не вдасться, і в такому випадку я просто скасую тести. Чи є спосіб я це зробити, не загортаючи весь скрипт у цикл часу і не використовуючи перерви? Щось на …

7
Що означає набір -e в баш-скрипті?
Я вивчаю зміст цієї престінги файлу який виконує скрипт до того, як цей пакунок буде розпакований з його архіву Debian archive (.deb). Сценарій має такий код: #!/bin/bash set -e # Automatically added by dh_installinit if [ "$1" = install ]; then if [ -d /usr/share/MyApplicationName ]; then echo "MyApplicationName is …
713 linux  bash  shell  sh 

10
Як призупинити сценарій оболонки на секунду, перш ніж продовжувати?
Я лише знайшов, як чекати введення користувача. Однак я хочу лише зробити паузу, щоб while trueмій комп'ютер не вийшов з ладу. Я спробував pause(1), але це говорить -bash: syntax error near unexpected token '1'. Як це можна зробити?
705 bash  shell  unix  terminal 

9
Призначення значень за замовчуванням змінним оболонок однією командою в bash
У мене є маса тестів на змінні в сценарії оболонки bash (3.00), де, якщо змінна не встановлена, то вона призначає за замовчуванням, наприклад: if [ -z "${VARIABLE}" ]; then FOO='default' else FOO=${VARIABLE} fi Здається, я пам'ятаю, що для цього в одному рядку є якийсь синтаксис, що нагадує потрійний оператор, наприклад: …
685 bash  shell 


19
Як видалити всі .pyc файли з проекту?
Я перейменував деякі файли в досить великий проект і хочу видалити .pyc файли, які вони залишили. Я спробував сценарій bash: rm -r *.pyc Але це не повторюється через папки, як я думав, що це буде. Що я роблю неправильно?
677 bash 


7
Коли нам потрібні фігурні дужки навколо змінних оболонок?
Коли в сценаріях оболонок ми використовуємо {}при розширенні змінних? Наприклад, я бачив таке: var=10 # Declare variable echo "${var}" # One use of the variable echo "$var" # Another use of the variable Чи є суттєва різниця, чи це просто стиль? Чи один віддає перевагу іншому?


25
Знайдіть і вбийте процес в одному рядку, використовуючи bash та regex
Мені часто потрібно вбивати процес під час програмування. Я це роблю зараз: [~]$ ps aux | grep 'python csp_build.py' user 5124 1.0 0.3 214588 13852 pts/4 Sl+ 11:19 0:00 python csp_build.py user 5373 0.0 0.0 8096 960 pts/6 S+ 11:20 0:00 grep python csp_build.py [~]$ kill 5124 Як я можу …
647 regex  bash  terminal  awk 

21
Розбийте рядок на масив у Bash
У сценарії Bash я хотів би розділити рядок на частини і зберегти їх у масиві. Лінія: Paris, France, Europe Я хотів би мати їх у такому масиві: array[0] = Paris array[1] = France array[2] = Europe Я хотів би використовувати простий код, швидкість команди не має значення. Як я можу …
640 arrays  bash  split 


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