Que signifie -x
ici?
if [ -x /etc/rc.local ] then
Comment pourrais-je trouver cette page de manuel pour if
?
Dans les pages man bash
(en particulier la section CONDITIONAL EXPRESSIONS):
-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.
[...]
if
est un mot-clé du shell, vous pouvez donc trouver des informations à ce sujet avec help if
. if
se branche uniquement selon que la commande suivante renvoie true (0) ou false (et non zéro). Cependant, ce que vous voulez vraiment, c'est man [
ou man test
, où [
est un alias pour test
. Cette instruction est en train d'exécuter test -x /etc/rc.local
, qui teste si ce fichier existe et est exécutable (ou dispose de l'autorisation de recherche).
De info test
:
`-x FILE'
True if FILE exists and execute permission is granted (or search permission, if it is a directory).
Une autorisation d’exécution est nécessaire sur un répertoire pour pouvoir y être insérée (c’est-à-dire pour en faire un répertoire de travail courant).
L'exécution est nécessaire sur un répertoire pour accéder aux informations "inode" des fichiers qu'il contient. Vous en avez besoin pour rechercher un répertoire afin de lire les inodes des fichiers qu’il contient. Pour cette raison, l'autorisation d'exécution sur un répertoire est souvent appelée autorisation de recherche.