O que -xsignifica aqui:
if [ -x /etc/rc.local ] then
Como eu pude descobrir esta página de manual if?
help if?
O que -xsignifica aqui:
if [ -x /etc/rc.local ] then
Como eu pude descobrir esta página de manual if?
help if?
Respostas:
Nas man bashpáginas (especialmente na seção EXPRESSÕES CONDICIONAIS):
-a file
True if file exists.
-b file
True if file exists and is a block special file.
-c file
True if file exists and is a character special file.
-d file
True if file exists and is a directory.
-e file
True if file exists.
-f file
True if file exists and is a regular file.
-g file
True if file exists and is set-group-id.
-h file
True if file exists and is a symbolic link.
-k file
True if file exists and its ``sticky'' bit is set.
-p file
True if file exists and is a named pipe (FIFO).
-r file
True if file exists and is readable.
-s file
True if file exists and has a size greater than zero.
-t fd True if file descriptor fd is open and refers to a terminal.
-u file
True if file exists and its set-user-id bit is set.
-w file
True if file exists and is writable.
-x file
True if file exists and is executable.
[...]
testno bash, não está invocando o testbinário. Em vez disso, você está invocando o testbuilt-in do bash , que possui documentação em help test, entre outros lugares. man testpode ser enganoso em alguns casos por esse motivo.
ifprópria é uma palavra-chave shell, para que você possa encontrar informações sobre ela help if. ifele próprio ramifica apenas se o próximo comando retorna verdadeiro (0) ou falso (não zero). O que você realmente quer, porém, é man [ou man test, para onde [serve um alias test. Essa instrução está realmente em execução test -x /etc/rc.local, que testa para verificar se esse arquivo existe e é executável (ou tem permissão de pesquisa).
man [funciona também
ifnão é um shell embutido, é uma palavra-chave shell. Execute este comando type ifpara verificar isso.
De info test:
`-x FILE'
True if FILE exists and execute permission is granted (or search permission, if it is a directory).
A permissão de execução é necessária em um diretório para poder entrar nele (ou seja, para tornar um diretório seu diretório de trabalho atual).
A execução é necessária em um diretório para acessar as informações de "inode" dos arquivos contidos. Você precisa disso para procurar um diretório para ler os inodes dos arquivos. Por esse motivo, a permissão de execução em um diretório geralmente é chamada de permissão de pesquisa.