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

Питання, характерні для Bourne Again SHell від GNU, на відміну від інших оболонок Bourne / POSIX. Для питань щодо оболонок Unix взагалі використовуйте тег / shell.

6
Як я можу змусити bash вийти з ладу backtick аналогічно шляху pipefail?
Тому я люблю загартовувати мої сценарії bash там, де можу (а коли не в змозі делегувати мову, подібну до Python / Ruby), щоб помилки не залишалися без уваги. У цьому ключі у мене є строгий.sh, який містить такі речі, як: set -e set -u set -o pipefail І джерело його …

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 тобто текст з umlauts (наприклад, ü) "стискається" на один символ на umlaut. Звичайно, я маю десь …
54 bash  unicode  printf 

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




6
Об’єднання двох змінних із підкресленням
Мені потрібно об'єднати дві змінні, щоб створити ім'я файлу, що має підкреслення. Назвемо мої змінні $FILENAMEі $EXTENSIONде ім'я файлу зчитується з файлу. FILENAME=Hello EXTENSION=WORLD.txt Тепер ... Я безрезультатно намагався: NAME=${FILENAME}_$EXTENSION NAME=${FILENAME}'_'$EXTENSION NAME=$FILENAME\\_$EXTENSION Я завжди отримую якийсь дивний вихід. Зазвичай підкреслюється спочатку. Мені це потрібно echo $NAME Hello_WORLD.txt

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 

9
Як я повторюю лише 1 стовпець виводу з команди ls?
Скажемо, коли я виконую команду ls, вихід: file1 file2 file3 file4 Чи можливо відобразити лише певний стовпець виводу, у цьому випадку файл2? Я пробував наступне без успіху: echo ls | $2 В основному все, що я хочу зробити, - це відлуння лише другого стовпця, в цьому випадку я хочу відлунювати: …
54 bash  ls  parameter  arguments 


4
Чи завжди зірка Баша * wildcard створює (зростаючий) відсортований список?
У мене є каталог, заповнений файлами з іменами, наприклад, logXXде XX - це двозначний шрифтовий номер з двома символами з великим написом, наприклад: log00 log01 log02 ... log0A log0B log0C ... log4E log4F log50 ... Зазвичай буде менше, ніж скажімо, 20 або 30 файлів. Дата та час у моїй конкретній …
53 bash  shell  wildcards 

6
Чи є якась причина, щоб shebang вказував на / bin / sh, а не на / bin / bash?
У більшості сценаріїв оболонки я бачив (крім тих , що я не писав сам), я помітив , що притон встановлений #!/bin/sh. Це не дуже мене дивує на старих сценаріях, але воно є і на досить нових сценаріях. Чи є підстави для переваги /bin/shбільш /bin/bash, так як bashце в значній мірі …
53 bash  shell  history  shebang 

4
Виключіть один зразок із глобальної відповідності
У мене є кілька файлів з однаковим базовим файлом. Я хотів би видалити всі, крім одного foo.org #keep foo.tex #delete foo.fls #delete foo.bib #delete etc Якщо мені не потрібно було зберігати його, я знаю, що міг би скористатися rm foo.*. TLDP демонструє ^заперечення матчу. Через спроби та помилки я зміг …
53 bash  wildcards 

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