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

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

3
Чому відкриття файлу швидше, ніж читання змінного вмісту?
У bashсценарії мені потрібні різні значення з /proc/файлів. Дотепер у мене є десятки рядків, що чіпляють файли прямо так: grep -oP '^MemFree: *\K[0-9]+' /proc/meminfo Намагаючись зробити це більш ефективним, я зберегла вміст файлу в змінній і перехопила, що: a=$(</proc/meminfo) echo "$a" | grep -oP '^MemFree: *\K[0-9]+' Замість того, щоб відкривати …

2
Використовуйте розширення .sh або .bash для скриптів bash?
(Див. Використання #! / Bin / sh або #! / Bin / bash для сумісності Ubuntu-OSX та простоти використання та POSIX ) Якщо я хочу, щоб мої сценарії використовували оболонку bash, чи використовує розширення .bash, фактично викликає bash або це залежить від конфігурації системи / 1-ї строки shebang. Якби обидва …
36 bash  shell  shebang 

3
Що в ірландському сценарії більш ідіоматичне: `|| true` або `|| : `?
Я не роблю дуже багато сценаріїв оболонок, тому мене трохи здивувало, коли я читав документаціюgit submodule і побачив синтаксис, який вони використовували в цій документації: Ненульове повернення команди в будь-якому підмодулі призводить до того, що обробка закінчується. Це можна змінити, додавши || :в кінець команди. Мені довелося подивитися, що || …
36 bash  shell 

3
Як можна запускати кілька програм у фоновому режимі за допомогою однієї команди?
Як можна запускати кілька програм у фоновому режимі за допомогою однієї команди? Я спробував команди нижче, але вони не працюють. nohup ./script1.sh & && nohup ./script2.sh & -bash: syntax error near unexpected token '&&' nohup ./script1.sh & ; nohup ./script2.sh & -bash: syntax error near unexpected token ';'

4
Читання рядків з файлу з bash: for vs. while
Я намагаюся прочитати текстовий файл і зробити щось із кожного рядка, використовуючи скрипт bash. Отже, у мене є список, який виглядає так: server1 server2 server3 server4 Я думав, що можу переосмислити це, використовуючи цикл час, так: while read server; do ssh $server "uname -a" done < /home/kenny/list_of_servers.txt Цикл while зупиняється …

2
Чому хтось не встановить "histappend" в баш?
Дізнавшись, що це shopt -s histappend означає , це здається дуже розумним налаштуванням, і я здивований, що це не за замовчуванням. Чому хтось хоче стерти свою історію на кожному виході з оболонки?

4
Як я можу видалити всі файли з певним розширенням у певній папці?
Якщо я встановив поточний / робочий каталог (навігація до нього за допомогою cd) в якийсь конкретний каталог, а потім введіть: rm *.xvg Що буде робити ця команда? Чи правда, що вищевказана команда видалить файли лише з розширенням .xvg лише у робочому каталозі? Я нервував спроби цього, перш ніж запитувати, тому …
36 bash  shell  directory  rm 

4
$ @, крім першого аргументу
Мені потрібно написати скрипт оболонки, який працює таким чином: ./myscript arg1 arg2_1 arg2_2 arg2_3 ....... arg2_# всередині скрипту є цикл for for i in $@ Однак, як я знаю, $ @ включає $ 1 до $ ($ # - 1). Але для моєї програми $ 1 суттєво відрізняється від $ …
36 bash  shell  scripting 


3
Поняття backtick (`)
Я пробую команду $ b=5; echo `$b`; -bash: 5: command not found але він не друкує 5, як належить. Що я тут пропускаю? Що означає `(backquote / backtick) у командах? здається, говорить, що `оцінює команди всередині і замінює їх на вихід.

4
псевдонім CD на pushd - це гарна ідея?
Чи корисно використовувати наступний псевдонім: cd() { pushd $1; } в баш? Я думаю, що це було б дуже корисно, оскільки тоді я можу використовувати серію popds, а не один cd -раз. Чи є випадок, коли це може бути проблемою?

2
Крапка з комою в умовних структурах
Навіщо ставити крапки з комою в одному, а не в іншому? Результат такий же Код перший if [ "a" == "a" ] then echo "true" fi Код другий if [ "a" == "a" ]; then echo "true"; fi Точки з комою у другому коді непотрібні? Коли потрібно розмістити крапки з …
35 bash  scripting 


7
Як я можу закрити термінал, не вбиваючи його дітей (не запускаючи `екран 'спочатку)?
іноді я запускаю додаток у gnome-терміналі, але мені раптом доводиться перезавантажувати gnome чи щось. Я думаю, що відповідь на питання також корисна, тоді я хочу відключитись від SSH, де щось відбувається. Кінцеве дерево Gnome виглядає так: gnome-terminal bash some-boring-process Чи можу я «відірватися» bashвід gnome-terminal(або відірватися some-boring-processвід bash і перенаправити …

7
Як придушити вихід DD?
У мене є скрипт bash, який створює якийсь файл за допомогою dd. Проблема полягає в тому, що ДД кидає велику кількість результатів, які зіпсуються з результатами мого сценарію. Шукаючи навколо, я знайшов рішення: dd if=boot1h of="/dev/r$temp1" >& /dev/null Чи є альтернатива чи переадресація на /dev/nullєдиний шлях?
35 bash  sudo  su  dd 

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