Eu preciso verificar a existência de uma variável em uma instrução if . Algo para o efeito de:
if [ -v $somevar ]
then
echo "Variable somevar exists!"
else
echo "Variable somevar does not exist!"
E a pergunta mais próxima disso...
Sempre me surpreendo que na pasta /bin exista um programa [ .
É o que é chamado quando estamos fazendo algo como: if [ something ] ?
Ao chamar o programa [ explicitamente em um shell, ele solicita um ] correspondente e, quando...
Eu posso verificar se um arquivo existe e é um link simbólico com -L
for file in *; do
if [[ -L "$file" ]]; then echo "$file is a symlink"; else echo "$file is not a symlink"; fi
done
e se for um diretório com -d:
for file in *; do...
Eu costumava estar confiante no fato de que citar strings é sempre uma boa prática para evitar que o shell analise isso.
Então me deparei com isso:
$ x='('
$ [ "$x" = '1' -a "$y" = '1' ]
bash: [: ')' expected, found 1
Tentando isolar o...
Estou tentando gravar uma instrução if para testar se há arquivos correspondentes a um determinado padrão. Se houver um arquivo de texto em um diretório, ele deverá executar um determinado script.
Meu código atualmente:
if [ -f /*.txt ]...
Estou tendo problemas com o bash. Eu estou tentando colocar um comando em uma instrução if e, em seguida, compará-lo a uma seqüência de caracteres.
Isso funciona perfeitamente.
echo $(ipcs | grep Shared | awk '{print $2}')
Quando...
#!/bin/bash
INT=-5
if [[ "$INT" =~ ^-?[0-9]+$ ]]; then
echo "INT is an integer."
else
echo "INT is not an integer." >&2
exit 1
fi
O que o líder ~ faz na expressão regular inicial?
Eu vi a seguinte técnica usada muitas vezes em muitos shells diferentes, para testar se uma variável está vazia:
if [ "x$1" = "x" ]; then
# Variable is empty
fi
Existe alguma vantagem em usar isso sobre o mais canônico if [ -z "$1"...