comando de comando
Propósito
Executa um comando simples.
Sintaxe
command [-p] command_name [argument...]
command [-p] [-v|-V ] command_nameDescrição
O comando command faz com que o shell trate o comando e argumentos especificados como um comando simples, suprimindo a consulta da função shell.
Normalmente, quando um / (slash) não precede um comando (indicando um caminho específico), o shell localiza um comando pesquisando as seguintes categorias:
- built-ins de shell especial
- funções do shell
- built-ins de casca regular
- Variável de ambiente PATH
Por exemplo, se houver uma função com o mesmo nome de um regular construído-no, o sistema utiliza a função. O comando command permite que você ligue para um comando que tenha o mesmo nome de uma função e obtenha o comando simples.
Os comandos -v e -V escrevem na saída padrão qual nome de caminho será usado pelo shell e como o shell interpreta o tipo de comando (interno, função, alias e assim por diante). Como os sinalizadores -v e -V produzem saída em relação ao ambiente do shell atual, o comando command é fornecido como um comando interno regular do shell Korn ou do POSIX shell. O comando /usr/bin/command pode não produzir resultados corretos, pois é chamado em um subshell ou em um ambiente de execução de comando separado. No exemplo a seguir o shell é incapaz de identificar aliases, subroutines ou comandos shell especiais:
(PATH=foo command -v)
nohup command -vSinalizações
| Item | Descrição |
|---|---|
| -P | Executa a pesquisa de comandos usando um valor padrão para a variável de ambiente PATH que é encontra todos os comandos padrão. |
| -v | Escreve para saída padrão o nome do caminho usado pelo shell atual para chamar o comando especificado, de acordo com as seguintes convenções:
Se o nome de comando especificado não puder ser encontrado, nenhuma saída será escrita e o status de saída retornará um valor > 0 . |
| -V | Escreve para saída padrão o nome de comando que será interpretado pelo ambiente shell atual. Embora o formato desta saída seja não especificado, A saída indica em qual das seguintes categorias o comando cai:
|
Status de saída
Quando a sinalização -v ou -V é especificada, os seguintes valores de saída são retornados:
| Item | Descrição |
|---|---|
| 0 | Conclusão bem-sucedida. |
| >0 | O comando especificado com o parâmetro command_name não pôde ser encontrado ou ocorreu um erro. |
Quando a sinalização -v ou -V não for especificada, os seguintes valores de saída são retornados:
| Item | Descrição |
|---|---|
| 126 | O comando especificado pelo parâmetro command_name foi encontrado mas não pôde ser invocado. |
| 127 | Ocorreu um erro no comando command , ou o comando especificado pelo parâmetro command_name não pôde ser encontrado. |
Caso contrário, o comando command retorna o status de saída associado ao comando especificado pelo parâmetro command_name .
Exemplos
- Para fazer uma versão do comando cd que imprime o novo diretório de trabalho sempre que você alterar diretórios, digite:
cd () { command cd "$@" >/dev/null pwd } - Para iniciar fora um script shell seguro, um no qual o script evita ser spoofado por seu pai, digite:
Nesse ponto, dado as permissões corretas nos diretórios chamados pela variável de ambiente PATH , o script tem a capacidade de garantir que qualquer comando que ele ligue é o desejado.IFS=' ' # The preceding value should be <space><tab><newline>. # Set IFS to its default value \unalias -a # Unset all possible aliases. # Note that unalias is escaped to prevent an alias # being used for unalias. unset -f command # Ensure command is not a user function. PATH="$(command -p getconf _CS_PATH):$PATH" # Put on a reliable PATH prefix. # ...
Arquivos
| Item | Descrição |
|---|---|
| /usr/bin/ksh | Contém o comando integrado Korn shell comando . |
| /usr/bin/command | Contém o comando command . |