Quando devo usar -eqvs =vs== por exemplo [[ $num -eq 0 ]] [[ $num = 'zzz' ]] Eu observei um padrão de uso -eq(e -neetc.) para números e =seqüências de caracteres. Existe uma razão para isso e quando devo
Quando devo usar -eqvs =vs== por exemplo [[ $num -eq 0 ]] [[ $num = 'zzz' ]] Eu observei um padrão de uso -eq(e -neetc.) para números e =seqüências de caracteres. Existe uma razão para isso e quando devo
No Bash, dois números inteiros podem ser comparados usando expressão condicional arg1 OP arg2 OP é um dos -eq, -ne, -lt, -le, -gt, ou -ge. Esses operadores binários aritméticos retornam true se arg1 for igual a, diferente de, menor que, menor que ou igual a, maior que ou maior que ou igual a...
Quando digito isso no terminal test 4 -lt 6 Eu não recebo nenhuma saída. Por que não? Eu preciso que 0 ou
Estou usando o bash no Linux. Estou obtendo sucesso com a seguinte instrução if, mas isso não deve retornar um código de falha? if [[ ■ = [⅕⅖⅗] ]] ; then echo yes ; fi O quadrado NÃO é igual a nenhum dos caracteres, portanto não vejo por que recebo um código de sucesso. É importante para mim...
Estou usando o script abaixo para retornar dois dias quando o script é executado no início de dois dias do ano e também verificar o primeiro e o segundo dia de cada mês e retornar dois dias atrás. if [$month="01"] && [$day="01"]; then date="$last_month/$yes_day/$last_year"...
Para versões do Bash anteriores ao "GNU bash, versão 4.2", existem alternativas equivalentes para a -vopção do testcomando? Por exemplo: shopt -os nounset test -v foobar && echo foo || echo bar # Output: bar foobar= test -v foobar && echo foo || echo bar # Output:...
Suponha que eu queira comparar a gccversão para ver se o sistema possui a versão mínima instalada ou não. Para verificar a gccversão, executei o seguinte gcc --version | head -n1 | cut -d" " -f4 A saída foi 4.8.5 Então, escrevi uma ifdeclaração simples para comparar esta versão com outro...
Eu estava escrevendo um script bash e de repente esse comportamento começou: [[ 1 < 2 ]]; echo $? # outputs 0 [[ 2 < 13 ]]; echo $? # outputs 1 mas -ltfunciona perfeitamente: [[ 1 -lt 2 ]]; echo $? # outputs 0 [[ 2 -lt 13 ]]; echo $? # outputs 0 substituí acidentalmente de <alguma...
Notei ao responder a outra pergunta que teste [são binários diferentes, mas a página de [manual aparece test. Além da exigência de um final ], existe alguma diferença? Caso contrário, por que eles são binários separados em vez de vinculados? (Eles também são bashembutidos e bashtambém não mostram...
Acabei de encontrar uma maneira de começar zshquando inicio o bashWindows no https://www.howtogeek.com/258518/how-to-use-zsh-or-another-shell-in-windows-10/ . É recomendável adicionar o seguinte código no final de .bashrc. # Launch Zsh if [ -t 1 ]; then exec zsh fi O que [ -t 1 ]significa isso...
Faz if [[ "$1" = pattern ]]; then hook fi sempre se comporte da mesma maneira que case "$1" in pattern) hook;; esac ou há alguma
De man bash: CONDITIONAL EXPRESSIONS [...] -a file True if file exists. [...] -e file True if file exists. Então, qual é a diferença entre [ -a $FILE ]e [ -e $FILE ], se houver? Se não há diferença real, por que existem duas bandeiras para o mesmo
Os utilitários teste [internos têm os testes -nt("mais recentes que") e -ot("mais antigos") na maioria dos shells, mesmo quando o shell está sendo executado no "modo POSIX" (também válido para os utilitários externos com os mesmos nomes no sistemas aos quais tenho acesso). Esses testes são para...
Stéphane Chazelas escreveu: algumas regras como citar sempre variáveis nunca use o operador -aor -o(use vários [comandos e os operadores &&e ||shell) Torne [confiável com os shells POSIX. Por que "nunca use o operador -aou -o"? Como posso "usar vários [comandos e os...
Li uma instrução para agendar um script no último dia do mês: Nota: O leitor astuto pode estar se perguntando como seria possível definir um comando para executar no último dia de cada mês, porque não é possível definir o valor de um dia para cobrir todos os meses. Esse problema afetou os...
Problema: preciso verificar se hoje é quinta-feira e executar ações diferentes com base no resultado dessa condição. Eu tentei duas abordagens diferentes: Obtendo o nome do dia: DAYOFWEEK=$(date +"%a") echo DAYOFWEEK: $DAYOFWEEK if ["$DAYOFWEEK" == "Thu"]; then echo YES else echo...
Eu tenho um script de shell chamado 'teleport.sh' assim: if [ $1="1" ]; then shift mv "$@" ~/lab/Sun elif [ $1="2" ]; then shift mv "$@" ~/lab/Moon elif [ $1="3" ]; then shift mv "$@" ~/lab/Earth fi Quando executo: sh teleport.sh 2 testfile Isso testfileé movido para o...
Se eu criar um arquivo como um usuário não privilegiado e alterar o modo de permissões para 400, ele será visto como somente leitura, corretamente: $ touch somefile $ chmod 400 somefile $ [ -w somefile ] && echo rw || echo ro ro Tudo está bem. Mas então a raiz aparece: # [ -w somefile...
Eu verifiquei um script meu com checkbashisms e recebi os seguintes avisos: possible bashism in check_ssl_cert line 821 (test -a/-o): if [ -n "${ALTNAMES}" -a -n "${COMMON_NAME}" ] ; then Na seção 4.62.4 das especificações POSIX , acho primário - um primário Executa um binário e os resultados...
Eu recebo o que esperava ao fazer isso em bash: [ "a" == "a" ] && echo yes Isso me deu yes. Mas quando faço isso zsh, recebo o seguinte: zsh: = not found Por que o mesmo comando ( /usr/bin/[) se comporta de maneira diferente em diferentes