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

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

4
Як правильно зафіксувати вихідний код / ​​обробити помилки при використанні підстановки процесу?
У мене є сценарій, який аналізує імена файлів у масиві, використовуючи наступний метод, взятий із Q&A на SO : unset ARGS ARGID="1" while IFS= read -r -d $'\0' FILE; do ARGS[ARGID++]="$FILE" done < <(find "$@" -type f -name '*.txt' -print0) Це чудово працює і прекрасно обробляє всі типи варіацій імен …

3
Помилка сценарію Bash: очікується ціле вираження
У мене досить дивна проблема, я запускаю скрипт (Bash) на декількох серверах, і він перестав працювати на одному з серверів (прекрасно працює на всіх інших серверах). Ось проблемна частина сценарію: (я не писав його сам, усі кредити переходять до "Річ") ( http://www.notrainers.org/monitoring-memory-usage-on-linux-with-nagios- і-nrpe / ) if [ "$result" -lt "$warn_level" …
13 bash 


3
Як включити команди в PS1 Баша, не порушуючи обчислення довжини рядка?
Тонін вказав на помилку в моєму запиті за замовчуванням . Мінімальний приклад: Встановити PS1: PS1='$(exit_code=$?; [[ $exit_code -eq 0 ]] || printf %s $(tput setaf 1) $exit_code $(tput sgr0) " ")$ ' На даний момент підказка виглядає приблизно так: $ Тепер запустіть вихідний код запуску: false Тепер підказка містить вихідний …
13 bash  prompt 

4
Автозаповнення найновішого файлу
У мене є процес, який створює текстові файли, назви файлів яких засновані на часовій позначці моменту створення: $ ls 1378971222.txt 1378971254.txt 1378971482.txt 1378971488.txt 1378972089.txt 1378972140.txt 1378972141.txt 1378972153.txt 1378972155.txt 1378972241.txt Як я можу автоматично заповнити ім’я останнього створеного файлу , тобто файл із останнім mtime? Немає можливості використовувати доповнення Tab для …

4
Чи можу я отримати протилежне `diff -q` - відповідність однакових файлів без друку їх вмісту
У мене в каталозі є декілька файлів, і я хочу перевірити, чи всі вони унікальні. Для простоти припустимо, що у мене є три файли: foo.txt, bar.txtі baz.txt. Якщо я запускаю цю петлю, я перевірю їх один проти одного: $ for f in ./*; do for i in ./*; do diff …
13 bash  diff 

4
ssh-агент не встановлюється (SSH_AUTH_SOCK, SSH_AGENT_PID env vars не встановлено)
Я створив новий обліковий запис користувача для друга на Kubuntu 12.04. Під час використання sshвін отримує цю помилку: Не вдалося відкрити з'єднання з вашим агентом аутентифікації Ми працюємо sshв деяких сценаріях bash. Оглянувши широке розмаїття речей, які можуть призвести до цієї помилки, я натрапив на таке рішення: $ eval `ssh-agent …
13 bash  ssh  kubuntu  ssh-agent 

3
Як запобігти введенню команд через параметри команд?
У мене є програма для обгортки, де мені потрібно дозволити користувачеві вказати спеціальні параметри для переходу на тренажер. Однак я хочу переконатися, що користувач не вводить інші команди через користувацькі параметри. Який найкращий спосіб досягти цього? Наприклад. Користувач надає: -a -b Виконання програми: mysim --preset_opt -a -b Однак я не …

2
Як запустити помилку за допомогою команди Trap
Я використовую Ubuntu 12.04.2. Я намагаюся використовувати команду "пастка" для зйомки аномальних або помилок у моєму скрипті оболонки, але я також намагаюся вручну запустити вихід "Помилка". Я спробував вихід 1, але він не спричинить сигнал "Помилка". #!/bin/bash func() { exit 1 } trap "echo hi" INT TERM ERR func Не …

1
Видалити весь аргумент у поточному командному рядку bash
Використовуючи ^W(unix-word-rubout), я можу легко видалити одне "слово" з поточної команди в моїй команді bash. Однак при роботі з цитованими аргументами, що містять пробіли (або аргументовані аргументи, що містять пробіли, пропущені косою косою рисою), це не працює добре, оскільки видаляє лише одне слово, а не весь аргумент. Тому я шукаю …
13 bash  readline  inputrc 

4
$ {! FOO} і zsh
${!FOO}виконує подвійну підстановку у bash, тобто означає, що вона приймає (рядкове) значення FOO і використовує його як ім'я змінної. zshне підтримує цю функцію. Чи є спосіб , щоб зробити цю роботу в тому ж самому bashі zsh? Фон: У мене є список змінних середовища, наприклад PATH MAIL EDITOR і потрібно …

3
Як визначити функцію Bash, яку можуть використовувати різні сценарії
Я визначив bashфункцію у своєму ~/.bashrcфайлі. Це дозволяє мені використовувати його в терміналах оболонки. Однак, схоже, це не існує, коли я закликаю його зсередини сценарію. Як я можу визначити bashфункцію, яка також використовується сценаріями?

1
Завершення вкладки Bash розширює "~" на "/ home / ___", коли не було раніше
Раніше, якщо я набрав ~/biTab, раніше, це перетвориться ~/bin. Тим НЕ менше, сьогодні він почав повертати ~/biTabв /home/username/bin. Я вважаю за краще це колишнє, але я не впевнений, що сталося ... Я додав сценарій, щоб відредагувати своє завершення bash, але я видалив його зі свого ~./bashrcта перезапустив сервер. Хтось знає, …

2
Як змусити слово Bash посилатися на псевдонім, функцію, файл тощо?
Намагаючись додати трохи детальніше до пов'язаного питання , я зрозумів, що не знаю, як вказати, який із доступних типів слів Bash виконувати. Відповідно до help typeп'яти типів слів: псевдонім ключове слово функція вбудований файл Можливо, що слово має декілька типів ( trueце лише приклад; більш поширене слово може бути cd): …
13 bash 

3
Як використовувати трійник для перенаправлення на grep
Я не маю великого досвіду використання трійника, тому сподіваюся, що це не дуже просто. Переглянувши одну з відповідей на це питання, я зіткнувся з дивним поведінкою tee. Для того, щоб я вивів перший рядок і знайдений рядок, я можу використовувати це: ps aux | tee >(head -n1) | grep syslog …

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