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

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

4
Визначте змінну Makefile, використовуючи змінну ENV або значення за замовчуванням
Я намагаюся зробити просту річ: TMPDIR ?= /tmp test: @echo $(TMPDIR) Це працює, якщо я запустив: $ make test /tmp Це також працює, якщо я запустив: $ make test -e TMPDIR=~/tmp /home/user/tmp Що я можу зробити, щоб це також працювало: $ TMPDIR=~/tmp make test /home/user/tmp

2
Що означає параметр -e для командного рядка оболонки bash?
У мене є скрипт оболонки bash із заголовком #!/bin/bash -e. Коли я запускаю сценарій, він буде перерваний після grepзапуску команди, але коли я видалю параметр -e, то скрипт може запускатися нормально. Що означає параметр -e?
78 bash  shell 

3
Відступ багаторядкового виводу у сценарії оболонки
Я намагаюся змінити повідомлення дня (MOTD) на моєму вікні Ubuntu Amazon EC2, щоб воно відображало статус git одного з моїх каталогів, коли я SSH в. Вихідні дані всіх файлів MOTD за замовчуванням мають два пробіли на початку кожного рядка, тому він виглядає красиво з відступами, але оскільки мій git statusвивід …
78 linux  bash  shell 

4
Як знайти файл, до якого було здійснено доступ / створено кілька хвилин тому
Я завжди забуваю, який файл я редагував хвилини тому, тому вводжу find . -cmin 1чи якесь інше значення, але воно спрацьовувало рівно 1хвилин. Довелося спробувати find . -ctime 2 /*or 3,4...*/. Тоді я знаходжу інший підхід, який буде кращим: touch -t 12251134 empty /*similar format which 5 or 10 minutes …
78 linux  bash  shell  unix  find 


4
bash регулярне вираження з лапками?
Наступний код number=1 if [[ $number =~ [0-9] ]] then echo matched fi робіт. Однак, якщо я намагаюся використовувати лапки в регулярному виразі, це зупиняється: number=1 if [[ $number =~ "[0-9]" ]] then echo matched fi Я "\[0-9\]"теж пробував . Чого мені не вистачає? Як не дивно, передовий посібник із …
77 regex  bash  quotes 

3
Як уникнути заміни команди bash, щоб видалити символ нового рядка?
Щоб пришвидшити виконання сценарію bash, я хотів би зберегти результат команди у змінній за допомогою заміни команди, але заміна команди замінює 0x0Aсимвол нового рядка пробілом. Наприклад: a=`df -H` або a=$( df -H ) Коли я хочу обробити далі $a, символи нового рядка замінюються пробілом, і всі рядки тепер знаходяться в …

2
Запуск bash-скриптів з npm
Я хочу спробувати використовувати npm для запуску різних завдань збірки веб-додатків. Я знаю, що можу це зробити, додавши scriptsполе до свого package.jsonтипу like: "scripts": { "build": "some build command" }, Це стає громіздким, коли у вас є більш складні команди з безліччю опцій. Чи можна перемістити ці команди в скрипт …
77 node.js  bash  shell  npm 

6
diff рекурсивно каталог, ігноруючи всі двійкові файли
Робота над коробкою Fedora Constantine. Я переглядаю diffдва каталоги рекурсивно, щоб перевірити наявність змін у джерелі. Завдяки налаштуванню проекту (до мого власного залучення до цього проекту! Зітхання ), каталоги містять як джерело, так і двійкові файли, а також великі набори двійкових даних. Хоча різниця врешті-решт працює в цих каталогах, може …
77 bash  shell  diff  binaryfiles 

6
Як використовувати конвеєр у параметрі exec для команди find?
Я намагаюся побудувати команду find, щоб обробити купу файлів у каталозі за допомогою двох різних виконуваних файлів. На жаль, -execу пошуку не дозволяє використовувати конвеєр або навіть \|тому, що оболонка спочатку інтерпретує цей символ. Ось конкретно те, що я намагаюся зробити (що не працює, оскільки труба закінчує команду find): find …
77 bash  shell  find 


11
Спроба отримати перші 5 символів із рядка в помилці bash?
Я намагаюся отримати перші 5 символів із рядка, але постійно отримую Bad substitutionпомилку для рядка маніпуляції рядком, у моєму teststring.shсценарії є такі рядки : TESTSTRINGONE="MOTEST" NEWTESTSTRING=${TESTSTRINGONE:0:5} echo ${NEWTESTSTRING} Я багато разів переглядав синтаксис і не можу зрозуміти, що я роблю неправильно Дякую
77 bash  shell 

12
Як виділити сценарії Bash у Vim?
Мій редактор Vim автоматично виділяє файли PHP ( vim file.php), файли HTML ( vim file.html) тощо. Але коли я набираю: vim fileі всередині нього пишу сценарій Bash, це не виділяє його. Як я можу сказати Vim виділити його як сценарій Bash? Я починаю друкувати #!/bin/bashвгорі файлу, але це не змушує …

13
Захоплення результату пошуку. -print0 у масив bash
Використання find . -print0здається єдиним безпечним способом отримання списку файлів у bash через можливість імен файлів, що містять пробіли, нові рядки, лапки тощо. Однак мені важко зробити насправді результати пошуку find корисними в bash або за допомогою інших утиліт командного рядка. Єдиний спосіб, яким мені вдалося скористатися результатом, - це …
76 arrays  bash  null  find  delimiter 

9
Обмеження довжини імені файлу в bash
Наступні запитання призначені лише для bash та linux: Чи існує обмеження на кількість символів в імені абсолютного шляху до файлу? Чи обмежена кількість символів лише для імені файлу (без розширення)? Якщо так, то якими можуть бути ці межі? Як я можу отримати до них доступ, якщо вони специфічні для системи?
76 linux  bash  file  maxlength 

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