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

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

3
Какова цель «true» в bash «если sudo true; тогда"
Я взломал этот скрипт bash, который проверяет, есть ли у пользователя привилегии суперпользователя, и если он этого не делает, он запрашивает их. В конечном итоге я пытаюсь инвертировать второе выражение «if», чтобы можно было удалить следующие две строки (эхо «пароль в порядке» и остальное в следующей строке) # Root user …
20 bash  sudo 

5
Что печатает один восклицательный знак в Bash?
Bash использует восклицательные знаки для расширений истории, как объяснено в ответах на этот вопрос (например, sudo !!запускает предыдущую командную строку с помощью sudo). Тем не менее, я не могу найти нигде, который объясняет, что выполняет следующая команда (то есть один восклицательный знак): ! Похоже, что ничего не печатать и выйти …

2
Существует ли ярлык для выполнения серии команд в истории Bash?
Предположим, у меня есть следующий тривиальный пример в моем history: ... 76 cd ~ 77 ./generator.sh out.file 78 cp out.file ~/out/ 79 ./out/cleaner.sh . 80 ls -alnh /out ... Если я хотел выполнить команды 77, 78и 79в одной команде, существует ли ярлык для этого? Я пытался !77 !78 !79, который …

1
Grep медленно выходить после нахождения совпадения?
Я пытаюсь написать bash-скрипт, который опрашивает btmon на предмет подключения устройств. У меня есть рабочее решение, но оно абсурдно медленное, и кажется, что проблема в том, что grep очень медленно выходит после нахождения совпадения (около 25 секунд). Что я могу сделать, чтобы ускорить grepили вообще избежать его использования? #!/bin/bash COUNTER=0 …
20 bash  grep 

2
Почему поведение `command 1> file.txt 2> file.txt` отличается от` command 1> file.txt 2> & 1`?
Если вы хотите перенаправить как stdout, так и stderr в один и тот же файл, вы можете сделать это с помощью command 1>file.txt 2>&1или command &>file.txt. Но почему поведение command 1>file.txt 2>file.txtотличается от двух приведенных выше команд? Ниже приведена команда проверки. $ cat redirect.sh #!/bin/bash { echo -e "output\noutput" && …

3
Как я могу увидеть, какая команда была на самом деле запущена в оболочке, через псевдоним или функцию
Например, у меня есть функция bash (или псевдоним) function install() {sudo apt-get install $@}. При запуске команды install dicelab, я ожидаю, что на самом деле будет выполняться sudo apt-get install dicelab. Где я могу увидеть, что на самом деле было запущено оболочкой? Я хотел бы убедиться, что мои более сложные …
20 bash  shell  debugging 

4
Всегда ли безопасно использовать `eval echo`?
Использование evalчасто не рекомендуется, потому что это позволяет выполнять произвольный код. Однако, если мы используем eval echo, то похоже, что остальная часть строки станет аргументом, echoпоэтому она должна быть безопасной. Я прав в этом?
20 bash  echo 

2
вложенные двойные кавычки в однолинейных с высоким рейтингом
StackOverflow ответ с> 3.5K голосов показывает этот один вкладыш для присвоения DIRдиректории текущего скрипта Баша: DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" Я озадачен вложенными двойными кавычками. Насколько я могу судить, следующие фрагменты заключены в двойные кавычки: "$( cd " "${BASH_SOURCE[0]}" " && pwd )" ... и все …

4
иногда команды истории не сохраняются в .bash_history
Вчера я выпустил много команд в своем CentOS 7. Но когда я хотел получить эти команды сегодня, я обнаружил, что никакой записи не было. Когда я открыл файл .bash_history, я все еще не мог найти команды, которые я дал вчера, но я нашел много старых команд несколько дней назад. Почему …

6
Как я могу вводить n повторений цифры в Bash, в интерактивном режиме
Я хотел бы запустить команду foo --bar=baz <16 zeroes> Как мне эффективно ввести 16 нулей *? Если я удерживаю Altи нажимаю, 1 6 0то повторю следующую вещь 160 раз, а это не то, чего я хочу. В emacs я могу использовать Alt-[number]или Ctrl-u 1 6 Ctrl-u 0, но в bash …

5
Почему EOF в середине аргументов?
Я хотел написать небольшую функцию bash, чтобы я мог сказать bash, import osили from sys import stdoutона создаст новый интерпретатор Python с импортированным модулем. Последняя fromфункция выглядит так: from () { echo "from $@" | xxd python3 -i -c "from $@" } Если я назову это: $ from sys import …
20 bash  python 

3
Что делает `<& -`?
Я скопировал фрагмент Bash в фоновую команду ssh, выполненную удаленно: ssh user@remote &lt;&lt;CMD some process &lt;&amp;- &gt;log 2&gt;error &amp; CMD Что делает &lt;&amp;-? Я думаю, что это так же, как&lt; /dev/null Мое следующее понимание , что три основные файловые дескрипторы ( stdin, stdout, stderr) должны быть закрыты , чтобы предотвратить: …

2
Выражение в скобках (без диапазонов), совпадающее с неожиданным символом в bash
Я использую Bash на Linux. Я получаю успех от следующего оператора if, но разве это не должно возвращать код ошибки? if [[ ■ = [⅕⅖⅗] ]] ; then echo yes ; fi Квадрат НЕ равен ни одному из символов, поэтому я не понимаю, почему я получаю код успеха. Для меня …
20 bash  locale  test 

2
Как остановить bash, редактируя историю, когда я повторно использую и изменяю запись?
Некоторые случаи bash изменяют историю команд при повторном использовании и редактировании предыдущей команды, другие, по-видимому, этого не делают. Я искал и искал, но не могу найти ничего, что говорит о том, как предотвратить изменение команд в истории, когда они повторно используются и редактируются. Есть вопросы, подобные этому , но, похоже, …


Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.