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

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

6
Пастка, ERR та повторення рядка помилки
Я намагаюся створити деякі повідомлення про помилки за допомогою Trap для виклику функції щодо всіх помилок: Trap "_func" ERR Чи можливо отримати, з якої лінії був відправлений сигнал ERR? Шкаралупа баш. Якщо я це роблю, я можу прочитати та повідомити, яка команда була використана, і ввійти / виконати деякі дії. …

7
Яку оболонку я повинен використовувати - tcsh vs bash? [зачинено]
Я використовую tcshвже давно. Але щоразу, коли я щось шукаю, я часто виявляю, що вказані методи є bashспецифічними. Навіть синтаксис скриптів оболонки відрізняється для двох. З того, що я зазнав у пошуку та навчанні в Інтернеті, bashсхоже, є більш поширеною оболонкою. Навіть кількість запитань на цьому веб-сайті позначено bashнабагато більше …
30 linux  shell  bash  fedora  tcsh 

5
Перевірте, чи $ REPLY знаходиться в діапазоні чисел
Я пишу сценарій оболонки для Linux, використовуючи Bash, щоб перевести будь-який відеофайл у формат MP4. Для цього я використовую avconvз libvorbisаудіо. Всередині мого сценарію у мене є запитання до користувача: read -p "- Audio Quality [scale from -2 to 10] ? " if [ -n "$REPLY" ] ; then ABITRATE="-aq …

5
Не допускайте виходу греп у разі вилучення
Цей сценарій не лунає "після": #!/bin/bash -e echo "before" echo "anything" | grep e # it would if I searched for 'y' instead echo "after" exit Так само, якби я видалив -eопцію в рядку shebang, але я хотів би зберегти її, щоб мій сценарій зупинився, якщо є помилка. Я не …

8
Щось з моїм сценарієм щось не так, або Bash набагато повільніше, ніж Python?
Я тестував швидкість Bash і Python, провівши цикл в 1 мільярд разів. $ cat python.py #!/bin/python # python v3.5 i=0; while i<=1000000000: i=i+1; Баш-код: $ cat bash2.sh #!/bin/bash # bash v4.3 i=0 while [[ $i -le 1000000000 ]] do let i++ done Використовуючи timeкоманду, я з’ясував, що для закінчення Python-коду …
29 bash  python3 

2
Що означає! #: 3 означає команду shell
Посібник з установки ack пропонує встановити сценарій ack за допомогою цієї команди: curl http://beyondgrep.com/ack-2.14-single-file > ~/bin/ack && chmod 0755 !#:3 Я припускаю, що !#:3в кінці є якесь зворотне посилання, але що це означає? Чи є еквівалент в zsh? Google не допомагає.

1
Чому заміна процесу BASH не працює з деякими командами?
Інколи процес заміни не буде працювати, як очікувалося. Ось приклад: Вхід: gcc <(echo 'int main(){return 0;}') Вихід: /dev/fd/63: file not recognized: Illegal seek collect2: error: ld returned 1 exit status Вхід: Але він працює, як очікувалося, при використанні з іншою командою: grep main <(echo 'int main(){return 0;}') Вихід: int main(){return …

3
Як я можу побачити точний командний рядок, який виконується в якомусь екземплярі bash?
У мене є тривалий bashекземпляр (всередині screenсеансу), який виконує складний набір команд всередині циклу (кожен цикл виконує труби, переадресації тощо). Довгий командний рядок був написаний всередині терміналу - це не всередині жодного сценарію. Тепер я знаю ідентифікатор процесу bash, і у мене є доступ до кореня - як я можу …

7
Як тримати Bash після виконання команди?
Я хотів би запустити щось подібне: bash -c "some_program with its arguments" але мати інтерактивний баш продовжувати працювати після some_programзакінчення. Я впевнений, що -cце не так добре, як man bashseys: Інтерактивна оболонка - це запускається без необов'язкових аргументів і без параметра -c То як це зробити? Основна мета описана тут …
29 bash 

6
Трубопровід до декількох файлів у оболонці
У мене є додаток, який видасть велику кількість даних, які я не хочу зберігати на диску. Програма в основному виводить дані, які я не хочу використовувати, але набір корисної інформації, яку необхідно розділити на окремі файли. Наприклад, враховуючи такий вихід: JUNK JUNK JUNK JUNK A 1 JUNK B 5 C …
29 bash  shell  grep  pipe 


4
Як я можу зберегти останню команду у файл?
Коли я запускаю свої аналізи за допомогою оболонки bash, я часто хочу зберегти команди, які я використав, які дали мені хороші результати у файлі в тому самому каталозі (мій "LOGBOOK", як його називають), щоб я міг перевірити, що Я зробив ці результати. Поки що це означало, що я або copy.pasting …


6
Як я можу створити псевдонім для команди git [action] (яка включає пробіли)?
Більшість моїх псевдонімів мають такий вигляд: alias p='pwd' Я хочу псевдонім, git commitщоб це булоgit commit -v Але спроба створити псевдонім з пробілом дає помилку: $ alias 'git commit'='git commit -v' -bash: alias: `git commit': invalid alias name
29 bash  shell  terminal  alias  git 

3
bash багаторядкова команда з коментарями після символу продовження
Розглянемо echo \ # this is a comment foo Це дає: $ sh foo.sh # this is a comment foo.sh: line 2: foo: command not found Після деякого пошуку в Інтернеті я знайшов рішення DigitalRoss на сестринському сайті Stack Overflow. Так можна зробити echo `: this is a comment` \ …
29 bash  shell 

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