Вопросы с тегом «bash»

Вопросы, специфичные для GNU Bourne Again SHell, в отличие от других оболочек Bourne / POSIX. Для вопросов о оболочках Unix в целом используйте вместо этого тег / shell.

6
Объединение двух переменных с подчеркиванием
Мне нужно объединить две переменные, чтобы создать имя файла с подчеркиванием. Позволяет вызвать мои переменные $FILENAMEи $EXTENSIONгде имя файла читается из файла. FILENAME=Hello EXTENSION=WORLD.txt В настоящее время... Я попробовал следующее без успеха: NAME=${FILENAME}_$EXTENSION NAME=${FILENAME}'_'$EXTENSION NAME=$FILENAME\\_$EXTENSION Я всегда получаю какой-то странный вывод. Обычно подчеркивание первое. Мне нужно чтобы это было echo …

5
Добавление текущей даты из переменной в имя файла
Я пытаюсь добавить текущую дату в конец имени файла следующим образом: TheFile.log.2012-02-11 Вот что у меня так далеко: set today = 'date +%Y' mkdir -p The_Logs & find . -name The_Logs -atime -1 -type d -exec mv \{} "The_Logs_+$today" \; & Однако все, что я получаю, это имя файла, и …
55 bash  shell  rename  date 

6
Как я могу получить bash для выхода из-за сбоя обратной связи таким же образом, как pipefail?
Поэтому мне нравится укреплять свои bash-скрипты везде, где я могу (и когда не могу делегировать такие языки, как Python / Ruby), чтобы ошибки не остались без ошибок. В этом ключе у меня есть strict.sh, который содержит такие вещи, как: set -e set -u set -o pipefail И источник его в …

9
Как отобразить только 1 столбец вывода команды ls?
Скажем, когда я выполняю команду ls, результат будет: file1 file2 file3 file4 Можно ли отобразить только определенный столбец вывода, в данном случае file2? Я пробовал следующее безуспешно: echo ls | $2 По сути, все, что я хочу сделать, это отобразить только второй столбец, в этом случае я хочу повторить: file2
55 bash  ls  parameter  arguments 

2
Почему printf «сжимается» умлаут?
Если я выполню следующий простой скрипт: #!/bin/bash printf "%-20s %s\n" "Früchte und Gemüse" "foo" printf "%-20s %s\n" "Milchprodukte" "bar" printf "%-20s %s\n" "12345678901234567890" "baz" Это печатает: Früchte und Gemüse foo Milchprodukte bar 12345678901234567890 baz то есть текст с умлаутами (например, ü) сокращается на один символ за умлаут. Конечно, у меня …
54 bash  unicode  printf 

10
bash: проверить, установлен ли $ WORD
Я ищу в конструкции bash, чтобы решить, является ли переменная $WORDодним из определенных слов. Мне нужно что-то вроде этого: if "$WORD" in dog cat horse ; then echo yes else echo no fi у bash есть такая конструкция? Если нет, то что будет ближе всего?



5
Расщепление строки по первому вхождению разделителя
У меня есть строка в следующем формате id;some text here with possible ; inside и хочу разделить его на 2 строки по первому появлению ;. Итак, должно быть: idиsome text here with possible ; inside Я знаю, как разбить строку (например, с помощью cut -d ';' -f1), но она будет …

3
Как сделать так, чтобы переменные среды «экспортировались» в скрипте оболочки?
У меня есть несколько учетных записей Amazon EC2 и я хочу быстро переключаться между переменными, например $EC2_HOME, с помощью сценария. У меня есть сценарий оболочки, настроенный так: #!/bin/sh export EC2_HOME=/home/me/.ec2 echo $EC2_HOME Когда я запускаю скрипт, я знаю, что EC2_HOMEон установлен, но я подумал, что использование exportзаставит переменную остаться после …

2
Создать символическую ссылку - перезаписать, если она существует
Я хочу записать данные /path/to/data/folder/month/date/hour/minute/fileи сделать ссылку на них /path/to/recent/fileи делать это автоматически каждый раз, когда создается файл. Предполагая, что я не буду знать заранее, если /path/to/recent/fileсуществует, как я могу создать его (если он не существует) или заменить (если он существует)? Я уверен, что могу просто проверить, существует ли он, …
54 bash  symlink 

4
Исключить один шаблон из совпадения глобуса
У меня есть несколько файлов с одним и тем же базовым именем файла. Я хотел бы удалить все, кроме одного foo.org #keep foo.tex #delete foo.fls #delete foo.bib #delete etc Если бы мне не нужно было держать один, я знаю, что мог бы использовать rm foo.*. TLDP демонстрирует ^отрицание соответствия. Методом …
54 bash  wildcards 

3
Как я могу узнать, нахожусь ли я в сеансе tmux из скрипта bash?
Мне нравится хранить мой репозиторийbash_profile в git и клонировать его на любые машины, к которым у меня есть доступ к оболочке. Поскольку в tmuxбольшинстве случаев у меня есть user@hostстрока в строке состояния, а не ее традиционное место в приглашении оболочки. Однако не все сайты, которые я использую, tmuxустановлены, или я …
54 bash  prompt  tmux 

5
Как сделать оператор if из результата выполненной команды
Я пытаюсь сделать оператор IF из вывода выполненной команды. Вот как я пытаюсь это сделать, но это не работает. Кто-нибудь знает правильный способ сделать это? if [ "`netstat -lnp | grep ':8080'`" == *java* ]; then echo "Found a Tomcat!" fi

4
Всегда ли подстановочный знак Bash star * создает отсортированный список (по возрастанию)?
У меня есть каталог, заполненный файлами с именами, например, logXXгде XX - это двухсимвольное шестнадцатеричное число, набранное нулями, например: log00 log01 log02 ... log0A log0B log0C ... log4E log4F log50 ... Обычно будет меньше, чем, скажем, 20 или 30 файлов. На дату и время моей конкретной системы нельзя положиться (встроенная …
53 bash  shell  wildcards 

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.