Perguntas sobre 'test'

4
respostas

Por que '==' se comporta de maneira diferente dentro de '[…]' em zsh e bash?

Eu recebo o que esperava ao fazer isso em bash : [ "a" == "a" ] && echo yes Ele me deu yes . Mas quando faço isso em zsh , recebo o seguinte: zsh: = not found Por que o mesmo comando ( /usr/bin/[ ) se comporta de...
15.01.2016 / 09:44
2
respostas

Por que [[-z]] e [[-v]] possuem sintaxe diferente?

Se eu quiser executar alguns comandos, dadas variáveis não estão definidas, estou usando: if [[ -z "$a" || -z "$v" ]] then echo "a or b are not set" fi Ainda a mesma sintaxe não funciona com -v , eu tenho que usar: if [[ -v a &...
06.10.2017 / 16:51
5
respostas

“teste -n && echo not empty” imprime “não vazio”. Esse comportamento é esperado?

O título diz tudo: Quando eu executo a seguinte linha test -n && echo not empty imprime "não vazio". Isso ocorre quando você tem uma variável vazia e testa o não-esvaziamento, esquecendo-se de citar o valor: VAR= test -n $VAR...
27.01.2012 / 13:59
1
resposta

De que adianta usar “x $ START_DAEMON” = “xyes” aqui? (o x principal)

Isso fazia parte de um script do daemon do fetchmail, if [ ! "x$START_DAEMON" = "xyes" -a ! "$1" = "status" ]; then Qual é o objetivo de usar x$START_DAEMON = "xyes" ; porque não basta usar $START_DAEMON = "yes" ?     
08.10.2012 / 06:17
1
resposta

Teste -n dá resultado inesperado

Eu entendo test -n <expression> para retornar false se a expressão for avaliada como um tamanho de string maior que 0. Por que então ocorre o seguinte? Macbook:~ echo ${#undeclared_variable} 0 Macbook:~ test -n $undeclared_variable &...
06.07.2014 / 21:07
3
respostas

O que significa o operador '-gt' nos scripts de shell? [duplicado]

Olá, tenho esta frase e quero saber o que significa por favor. if [[ -z "$1" ]]; then # --> this is if the value of the parameter $1 is zero PASO=1 elif [[ "$1" -gt 1 ]] ; then # but i don't know what this flags mean? .."-gt"...
29.05.2018 / 15:19
3
respostas

Quais métodos de expressão regular para validar a entrada podem ser usados em scripts de shell?

#!/bin/sh re="\/$" if [ $1 =~ $re ]; then echo "${ATTENTION_PREFIX}$1 DIRECTORY MAY NOT CONTAIN A \"/\" OR LITERAL SLASH!${ATTENTION_POSTFIX}" exit 1 fi A execução de sudo file.sh hello/ resulta em [: 29: hello: unexpec...
04.07.2014 / 10:22
3
respostas

Por que o condicional não funciona quando eu o uso diretamente sem uma variável?

Isso me dá um erro que diz muitos argumentos: if [ $( file -b $i ) == "directory" ] Mas quando eu tentei isso name=$( file -b $i ) if [ name == "directory" ] Parece funcionar bem. Alguém pode explicar isso ou apontar nos documen...
15.01.2017 / 04:17
2
respostas

Por que os testes bash são tão exigentes quanto a espaço em branco?

Como um programador basicamente Java, acho a construção bash if - then bastante confusa, especialmente em relação ao espaço em branco. Alguém pode explicar por que o primeiro funciona, mas não o segundo ou terceiro? #works if [ -n $1 ];...
28.02.2014 / 12:22
3
respostas

Como comparar a versão de um programa em um script de shell?

Suponha que eu queira comparar gcc version para ver se o sistema tem a versão mínima instalada ou não. Para verificar a versão gcc , executei o seguinte gcc --version | head -n1 | cut -d" " -f4 A saída foi 4.8.5 Então, eu e...
27.05.2016 / 16:01