Existe um arquivo de script unix que verifica a chave?

0

Eu odeio postar uma pergunta estúpida e idiota, mas existe uma chave que explica que essas letras, como -n , -d etc, tudo isso significa? Não sei como fazer a pergunta, então é melhor se eu explicar o que estou procurando.

Exemplo:

if [[ -d ${directory_name} ]]; then ...; fi

O que é o -d ou onde eu encontro uma chave?

Exemplo:

while [[ -n ${variable_name} ]]; do ...; done

qual é o -n médio?

Estou procurando um guia que tenha uma explicação sobre o significado de cada uma dessas letras. Exemplo: Existe um guia que explica o que todos esses -n , -e , -a , -d , -s , -h , etc?

Eu faço um monte de modificações de script de shell do Unix, e eu vi esses argumentos usados dentro dos loops ou se, então, declarações sobre variáveis e locais de arquivos etc. É muito difícil digitar isso no Google quando o Google remove o "... "e outros caracteres especiais. Digitar man -n etc não faz justiça.

Estou procurando um lugar que explique cada um dos argumentos mencionados acima para o script. Alguma idéia de onde eu posso encontrá-los?

    
por TechGuyChris 11.01.2017 / 18:18

2 respostas

0

você quer a página TLDP para o BASH,

advanced bash: link

beginner bash: link

o que você estava perguntando é sobre operadores de teste de arquivo e pode ser encontrado aqui: link

e expressões condicionais bash que podem ser encontradas aqui: link

-d  file is a directory
-f  file is a regular file
-e  file exists
-s  file size is not zero
-b  file is a block device
-h  file is a symbolic link
-w  file has write permissions for user executing this bash statement
{there are more}

#!/bin/bash
if [ -e $1 ] && [ -w $1 ]; then
   echo "the file you entered was "$1" and it exists and you have write permission to it"
else
   echo "condition failed for exist and for write permission"
fi
    
por 11.01.2017 / 19:37
4

Acredito que você deve encontrar tudo em detalhes na página man do seu shell (por exemplo, man bash ).

Além disso, bash , por exemplo, tem um comando interno denominado help . Apenas dê o comando no parâmetro. Aqui o comando é [[ e help [[ redireciona para o comando test (a.k.a. [ ), portanto, help test fornecerá o que você precisa.

Por fim, os integrantes geralmente têm suas contrapartes independentes em /bin e geralmente são fornecidos com uma página manpage = > man [ ou man test

    
por 11.01.2017 / 18:42