Вопросы с тегом «bash»

Вопросы, специфичные для GNU Bourne Again SHell, в отличие от других оболочек Bourne / POSIX. Для вопросов о оболочках Unix в целом используйте вместо этого тег / shell.

2
Использовать расширение .sh или .bash для скриптов bash?
(См. Использование #! / Bin / sh или #! / Bin / bash для совместимости с Ubuntu-OSX и простоты использования и POSIX ) Если я хочу, чтобы в моих сценариях использовалась оболочка bash, действительно ли расширение .bash вызывает bash или это зависит от конфигурации системы / 1-й строки shebang. Если …
36 bash  shell  shebang 

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

3
Что более идиоматично в скрипте bash: `|| 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, вот так: while read server; do ssh $server "uname -a" done < /home/kenny/list_of_servers.txt Цикл while …


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

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


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

4
наложение псевдонима на 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
Как я могу закрыть терминал, не убивая его потомков (без запуска `screen` в первую очередь)?
иногда я запускаю приложение в gnome-терминале, но потом мне внезапно приходится перезапускать gnome или что-то в этом роде. Я думаю, что ответ на вопрос также полезен, тогда я хочу отключиться от SSH, где что-то происходит. Терминальное дерево гнома выглядит так: gnome-terminal bash some-boring-process Могу ли я «отсоединиться» bashот gnome-terminal(или отсоединиться …

7
Как подавить вывод dd?
У меня есть сценарий Bash, который создает некоторые файлы с помощью dd. Проблема в том, что 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.