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

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

6
В чем разница между операторами Bash [[vs [vs (vs ((?)
Я немного запутался в том, что эти операторы делают по-разному при использовании в bash (скобки, двойные скобки, круглые скобки и двойные скобки). [[ , [ , ( , (( Я видел, как люди используют их, если такие заявления: if [[condition]] if [condition] if ((condition)) if (condition)
248 bash  shell  test 


8
Как я могу проверить, является ли переменная пустой или содержит только пробелы?
Следующий синтаксис bash проверяет, paramне является ли он пустым: [[ ! -z $param ]] Например: param="" [[ ! -z $param ]] && echo "I am not zero" Нет выхода и его хорошо. Но когда paramпусто, за исключением одного (или более) пробела, тогда дело обстоит иначе: param=" " # one space …

5
Что делает env x = '() {:;}; команда 'bash do и почему она небезопасна?
Похоже, в bash существует уязвимость (CVE-2014-6271): атака с помощью внедрения кода специально созданных переменных среды Bash Я пытаюсь понять, что происходит, но я не совсем уверен, что понимаю это. Как echoвыполнить в одинарных кавычках? $ env x='() { :;}; echo vulnerable' bash -c "echo this is a test" vulnerable this …

5
Почему мой скрипт Bash не распознает псевдонимы?
В моем ~/.bashrcфайле находятся два определения: commandA, который является псевдонимом для более длинного пути commandB, который является псевдонимом Bash-скрипта Я хочу обработать один и тот же файл этими двумя командами, поэтому я написал следующий скрипт Bash: #!/bin/bash for file in "$@" do commandA $file commandB $file done Даже после выхода …
216 bash  alias 


3
Последствия для безопасности: забыть заключить переменную в оболочку bash / POSIX
Если вы следили за unix.stackexchange.com какое-то время, вы должны надеяться, что уже знаете, что оставление переменной без кавычек в контексте списка (как в echo $var) в оболочках Bourne / POSIX (исключение zsh) имеет очень особое значение и не должно быть сделано, если у вас нет очень веских причин. Это обсуждается …


9
Как просмотреть вывод работающего процесса в другой сессии bash?
Я оставил скрипт, работающий на удаленной машине, когда работал на нем локально. Я могу подключиться через SSH к компьютеру от имени того же пользователя и увидеть, как работает скрипт ps. $ ps aux | grep ipcheck myuser 18386 0.0 0.0 18460 3476 pts/0 S+ Dec14 1:11 /bin/bash ./ipchecker.sh Это просто …


7
Что такое команда eval в bash?
Что вы можете сделать с evalкомандой? Почему это полезно? Это какая-то встроенная функция в bash? Там нет manстраницы для этого ..
177 bash  shell  eval 

7
Терминальная подсказка неправильно упакована
У меня есть проблема, при которой, если я введу очень длинные команды в bash, терминал не отобразит то, что я печатаю правильно. Я ожидаю, что если бы у меня была команда, подобная следующей: username@someserver ~/somepath $ ssh -i /path/to/private/key myusername@something.someserver.com Команда должна отображаться в две строки. Вместо этого он часто …
172 bash  terminal  prompt 

12
Как изменить расширение нескольких файлов?
Я хотел бы изменить расширение файла с *.txtна *.text. Я попытался использовать basenameкоманду, но у меня возникают проблемы при изменении более одного файла. Вот мой код: files=`ls -1 *.txt` for x in $files do mv $x "`basename $files .txt`.text" done Я получаю эту ошибку: basename: too many arguments Try basename …

6
Запустите команду, которая затенена псевдонимом
Допустим, у меня есть следующий псевдоним в bash alias ls='ls --color=auto'- и я хочу назвать обычный lsбез опций. Единственный способ сделать это - unalias, выполнить команду, а затем снова псевдоним? Или есть какой-нибудь изящный трюк или обходной путь?
164 bash  shell  alias 


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