Вопросы с тегом 'bash'

Для вопросов о скриптах, написанных для командной оболочки Bash. Для сценариев оболочки с ошибками/синтаксическими ошибками, пожалуйста, проверьте их с помощью программы shellcheck (или на сервере веб-проверки оболочки по адресу https://shellcheck.net) перед размещением здесь. Вопросы об интерактивном использовании Bash, скорее всего, будут касаться супер пользователя, чем Qaru.
63

Получить исходный каталог скрипта Bash из самого скрипта

Как получить путь к каталогу, в котором находится Bash script, внутри которого script? Например, скажем, я хочу использовать Bash script в качестве запуска для другого приложения. Я хочу изменить рабочий каталог на тот, где находится Bash script, п...
12 сент. '08 в 20:39
19

Как узнать, существует ли обычный файл в Bash?

Я использовал следующий script, чтобы увидеть, существует ли файл: #!/bin/bash FILE=$1 if [ -f $FILE ]; then echo "File $FILE exists." else echo "File $FILE does not exist." fi Какой правильный синтаксис использовать, если я только хо...
12 мар. '09 в 14:48
31

Как объединить строковые переменные в Bash

В PHP строки объединяются следующим образом: $foo = "Hello"; $foo .= " World"; Здесь $foo становится "Hello World". Как это достигается в Bash?
15 нояб. '10 в 5:38
22

Как проверить, содержит ли строка подстроку в Bash

У меня есть строка в Bash: string="My string" Как проверить, содержит ли она еще одну строку? if [ $string ?? 'foo' ]; then echo "It there!" fi Где ?? - мой неизвестный оператор. Использовать эхо и grep? if echo "$string" | grep 'foo'; the...
23 окт. '08 в 12:37
22

Echo newline в Bash печатает буквально\n

В Bash, попробовал следующее: echo -e "hello\nworld" Но он не печатает новую строку, только \n. Как я могу сделать печать новой строки? Я использую Ubuntu 11.04.
11 дек. '11 в 21:01
36

Как проверить, существует ли программа из скрипта Bash?

Как я могу проверить, существует ли программа, которая будет либо возвращать ошибку и выйти, либо продолжить с помощью script? Кажется, что это должно быть легко, но это меня колотило.
26 февр. '09 в 21:52
37

Извлечь имя файла и расширение в Bash

Я хочу получить имя файла (без расширения) и расширение отдельно. Лучшее решение, которое я нашел, это: NAME='echo "$FILE" | cut -d'.' -f1' EXTENSION='echo "$FILE" | cut -d'.' -f2' Это неправильно, потому что не работает, если имя файла содержит ...
08 июн. '09 в 14:00
36

Как разбить строку на разделителе в Bash?

У меня есть эта строка, хранящаяся в переменной: IN="bla@some.com;john@home.com" Теперь я хотел бы разделить строки на разделитель ;, чтобы у меня было: ADDR1="bla@some.com" ADDR2="john@home.com" Мне необязательно нужны переменные ADDR1 и ADD...
28 мая '09 в 2:03
32

Как проанализировать аргументы командной строки в Bash?

Скажем, у меня есть script, который вызывается с помощью этой строки: ./myscript -vfd ./foo/bar/someFile -o /fizz/someOtherFile или этот: ./myscript -v -f -d -o /fizz/someOtherFile ./foo/bar/someFile Что принято в этом синтаксическом анализе,...
10 окт. '08 в 16:57
16

Что означает "2> & 1" в оболочке?

В оболочке Unix, если я хочу объединить stderr и stdout в поток stdout для дальнейшей обработки, я могу добавить следующее в конце моей команды: 2>&1 Итак, если я хочу использовать "head" на выходе из g++, я могу сделать что-то вроде этого...
03 мая '09 в 22:57
28

Как изменить выходной цвет эха в Linux

Я пытаюсь напечатать текст в терминале с помощью команды echo. Я хочу напечатать текст красного цвета. Как я могу это сделать?
10 мая '11 в 9:07
45

Как считать все строки кода в каталоге рекурсивно?

У нас есть приложение PHP и мы хотим подсчитать все строки кода под определенным каталогом и его подкаталогами. Нам не нужно игнорировать комментарии, так как мы просто пытаемся получить приблизительную идею. wc -l *.php Эта команда отлично работ...
31 авг. '09 в 17:42
14

Как установить переменную для вывода команды в Bash?

У меня есть довольно простой скрипт, который выглядит примерно так: #!/bin/bash VAR1="$1" MOREF='sudo run command against $VAR1 | grep name | cut -c7-' echo $MOREF Когда я запускаю этот скрипт из командной строки и передаю ему аргументы, я не по...
10 янв. '11 в 20:58
19

Прокрутите массив строк в Bash?

Я хочу написать script, который будет проходить через 15 строк (возможно, массив)? Возможно ли это? Что-то вроде: for databaseName in listOfNames then # Do something end
16 янв. '12 в 13:21
30

Как мне запросить ввод Yes/No/Cancel в оболочке Linux script?

Я хочу приостановить ввод в оболочке script и запросить пользователя для выбора. Стандартный вопрос "Да, нет или Отменить". Как это сделать в типичном приглашении bash?
22 окт. '08 в 17:03