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

18
Используйте #! / Bin / sh или #! / Bin / bash для совместимости с Ubuntu-OSX и простоты использования и POSIX

Я знаю, что могу использовать любой из сценариев в качестве первой строки для вызова желаемой оболочки. Было #!/bin/shбы рекомендовано, если совместимость со всеми системами Unix является абсолютным требованием? В моем случае единственные операционные системы, о которых я забочусь, это Ubuntu...

18
Как это '&' в конце моей команды сделало скрипт таким быстрым?

Решая некоторые проблемы CTF онлайн, я столкнулся с ситуацией, когда мне нужно было перебить сервер. Это код, который я написал: #!/bin/bash for i in {0..9}{0..9}{0..9}{0..9} do echo "Now trying code.." echo $i echo "a fixed string" $i | nc localhost *port here* >> /tmp/me/dump.txt done Это...

18
Как настроить цветной вывод?

Я хотел условно отформатировать файлы Unix, сейчас я работаю над diffкомандой и хотел узнать, возможно ли отформатировать текст diffвывода команды. Пример: Соответствующие значения должны отображаться зеленым цветом. Несоответствующие значения должны отображаться красным цветом. Предположим , у...

18
Как выйти из цикла while из вложенного оператора case? [закрыто]

Закрыто. Этот вопрос не по теме . В настоящее время не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он подходил для Unix и Linux Stack Exchange. Закрыто 4 года назад . В приведенном ниже сценарии, который предлагает пользователю подтвердить, что он хочет продолжить...

18
Как показать имя хоста в командной строке Linux

У меня есть несколько виртуальных машин, и сейчас моя командная строка выглядит так -bash-3.2$; идентичны на каждой виртуальной машине, потому что она не содержит имени хоста. Мне нужно всегда видеть, какую виртуальную машину я использую, hostnameпрежде чем выполнять какие-либо операции. Как я могу...

18
Избегайте запуска скрипта, если переменная не определена

У меня скрипт выглядит так: c=0 for f in */*; do cp -v "$f" "/myhome/CE$(printf '%0*d' 2 $BATCHNUM)-new-stuctures_extracted/test-$(printf '%0*d' 5 $c)" c=$((c=c+1)) done Тем не менее, пользователь должен предоставить переменную call BATCHNUM, в противном случае мне нужно заставить этот скрипт...

18
Значение [«$ {1: 0: 1}» = '-']

У меня есть следующий скрипт для запуска процесса MySQL: if [ "${1:0:1}" = '-' ]; then set -- mysqld_safe "$@" fi if [ "$1" = 'mysqld_safe' ]; then DATADIR="/var/lib/mysql" ... Что означает 1: 0: 1 в этом

18
совместимый с checkbashisms способ определения текущей оболочки

В моем .profileкоде я использую следующий код, чтобы гарантировать, что псевдонимы и функции, связанные с Bash, получаются только в том случае, если на самом деле оболочкой входа является Bash : # If the current (login) shell is Bash, then if [ "${BASH_VERSION:-}" ]; then # source ~/.bashrc if it...

18
Как я могу отсоединить процесс от bash-скрипта?

Я пытаюсь отсоединить процесс от сценария bash, чтобы SIGINT не переадресовывался процессу при выходе из сценария. Я использовал disownкоманду в терминале напрямую, однако в bash disownне останавливает пересылку SIGINT. Цель этого скрипта - запустить openocd, а затем gdb за один вызов. Поскольку...

18
Значение «2>> (команда)» перенаправление в Bash

Некоторое время назад я сделал сценарий и добавил некоторые записи в журнал, но я забыл, как работает перенаправление для ведения журнала :-( Суть этого такова: #!/bin/bash LOGFILE=/some/path/mylogfile ( # here go my commands which produce some stdout # and, if something goes wrong, also some...

18
Как установить PATH при запуске команды ssh?

Предполагая, что пользователь имеет /bin/bashв качестве оболочки в /etc/passwd. Затем ssh user@host commandзапускает команду, используя Bash. Однако эта оболочка не является ни логином, ни интерактивной, что означает, что она не является ~/.bash_profileни ~/.bashrcисточником. В таком случае, как...

18
Собирать коды выхода параллельных фоновых процессов (подоболочек)

Скажем, у нас есть скрипт bash, например: echo "x" & echo "y" & echo "z" & ..... echo "Z" & wait Есть ли способ собрать коды выхода для вложенных оболочек / подпроцессов? Ищите способ сделать это и ничего не можете найти. Мне нужно запустить эти подоболочки параллельно, иначе да,...

18
PS1 = '$ (pwd)', почему это работает и почему это отличается от PS1 = $ (pwd)

Почему, когда я ввожу эту команду, приглашение изменится на мой каталог? PS1='$(pwd)' Я использую одинарные кавычки, что означает отсутствие интерполяции, иначе echo '$(pwd)'—— →$(pwd) Кроме того, скажем, что мы выяснили, почему это работает ... почему оно функционирует иначе PS1=$(pwd)? (без...

18
В чем разница между env, setenv, export и когда использовать?

Недавно я заметил, что у нас есть 3 варианта установки переменных среды: export envVar1=1 setenv envVar2=2 env envVAr3=3 Если есть другие способы, пожалуйста, просветите нас. Когда я должен предпочесть одно другому? Пожалуйста, предложите рекомендации. Что касается совместимости с оболочкой,...

18
Почему параметры в кавычках не работают, но работают без кавычек?

Я читал о том, что я должен заключать в кавычки переменные в bash, например, «$ foo» вместо $ foo. Однако при написании скрипта я обнаружил случай, когда он работает без кавычек, но не с ними: wget_options='--mirror --no-host-directories' local_root="$1" # ./testdir recieved from command line...

18
Понимание `echo $ ((0x63))`

Я искал способ конвертировать шестнадцатеричные через командную строку и обнаружил, что есть очень простой метод echo $((0x63)). Это работает отлично, но я немного смущен тем, что здесь происходит. Я знаю, $(...)что обычно это под-оболочка, где содержимое оценивается перед внешней командой. Это все...

18
bash меняет свое поведение в зависимости от значения переменной «IFS»

Когда я устанавливаю IFSпеременную в пробел, bashобрабатывает несколько пробелов как один пробел ( myprogramэто программа, которая печатает полученные аргументы командной строки): IFS=" " x="hello hi world" ./myprogram $x argv[1] = hello argv[2] = hi argv[3] = world Но когда я устанавливаю...

18
JSON массив для bash переменных с использованием jq

У меня есть массив JSON, например, так: { "SITE_DATA": { "URL": "example.com", "AUTHOR": "John Doe", "CREATED": "10/22/2017" } } Я пытаюсь перебрать этот массив с помощью jq, чтобы я мог установить ключ каждого элемента в качестве имени переменной и значение в качестве ее значения. Пример: URL =...