web-dev-qa-db-fra.com

Quel est ce fichier: / usr / bin / [?

Le nom du fichier est '['. Lorsque je l'ouvre dans vi, il semble que ce soit une copie de 'test'. Il appartient à root.

6
Josh

Ce fichier est censé être là (ou sous /usr/bin/[). Il vous permet de taper, par exemple, [ -f $HOME/.bashrc ] && echo ".bashrc exists", ce qui équivaut à test -f $HOME/.bashrc && echo ".bashrc exists".

La réalité est un peu plus compliquée, puisque bash substitue /usr/bin/[ avec son propre [, vous pouvez donc utiliser l'exécutable [ en fournissant un chemin complet, /usr/bin/[ -f $HOME/.bashrc ] && echo ".bashrc exists".

8
pablomme

C'est une version de test qui nécessite un ] comme dernier argument. Il est souvent utilisé dans les scripts Shell, comme dans

if [ -e some_file ]; then ...

(mais dans la plupart des Shell modernes, comme Bash, c'est une commande intégrée).

C'est requis par POSIX

5
Florian Diesch