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

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

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

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

Как узнать, существует ли обычный файл в 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
30

Как объединить строковые переменные в 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
25

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

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

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

У нас есть приложение 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
32

Как проверить, установлена ​​ли переменная в Bash?

Как узнать, установлена ​​ли переменная в Bash? Например, как проверить, дал ли пользователь первый параметр функции? function a { # if $1 is set ? }
30 авг. '10 в 14:54
20

Как перебирать диапазон чисел, определяемых переменными в Bash?

Как выполнить итерацию по диапазону чисел в Bash, когда диапазон задан переменной? Я знаю, что могу это сделать (это называется "выражение последовательности" в документации Bash ): for i in {1..5}; do echo $i; done Что дает: 1 2 3 4 5 Одн...
04 окт. '08 в 1:38