Que -x
signifie ici:
if [ -x /etc/rc.local ] then
Comment pourrais-je trouver cette page de manuel if
?
help if
?
Que -x
signifie ici:
if [ -x /etc/rc.local ] then
Comment pourrais-je trouver cette page de manuel if
?
help if
?
Réponses:
Depuis les man bash
pages (en particulier la section EXPRESSIONS CONDITIONNELLES):
-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.
[...]
test
dans bash, vous n'invoquez pas le test
binaire. Vous test
invoquez plutôt la fonction intégrée de bash , qui contient de la documentation help test
, entre autres. man test
peut être trompeur dans certains cas pour cette raison.
if
lui-même est un mot-clé shell, vous pouvez donc trouver des informations à ce sujet avec help if
. if
lui-même ne se branche que si la commande suivante retourne vrai (0) ou faux (pas zéro). Ce que vous voulez vraiment, c'est man [
ou man test
, où [
est un alias test
. Cette instruction est en cours d'exécution test -x /etc/rc.local
, qui teste pour voir si ce fichier existe et est exécutable (ou dispose d'une autorisation de recherche).
man [
fonctionne aussi.
if
n'est pas un shell intégré à son mot clé shell. Exécutez cette commande type if
pour vérifier cela.
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 entrer (c'est-à-dire faire de certains répertoires votre répertoire de travail actuel).
Exécuter 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 dans lequel lire les inodes des fichiers. Pour cette raison, l'autorisation d'exécution sur un répertoire est souvent appelée autorisation de recherche.