La commande composée [[ shell

Fermé
yuri648 Messages postés 677 Date d'inscription mardi 30 décembre 2008 Statut Membre Dernière intervention 20 mai 2015 - 8 oct. 2010 à 20:55
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 - 9 oct. 2010 à 10:36
Bonjour,

vous pouvez m'expliquer quel est la difference entre la [[ et [ dans la condition if dans shell ?

merci



A voir également:

3 réponses

lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567
8 oct. 2010 à 21:06
Salut,

Peux-tu nous montrer un exemple concret?
0
yuri648 Messages postés 677 Date d'inscription mardi 30 décembre 2008 Statut Membre Dernière intervention 20 mai 2015 7
8 oct. 2010 à 21:12
cet exemple je l'ai trouvé sur un tuto

if [[ ! ( -w /etc/at.deny || -r /etc/at.deny ) ]]
then
echo OUI
else
echo NON
fi


pour quoi ils n'ont pas utilisé if [] au lieu if [[]]

merci
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567
8 oct. 2010 à 21:23
Re,

Regarde dans man bash
[[ expression ]]
Renvoie un état de 0 ou 1 selon l'évaluation de la condition expression. Les conditions sont composées de primitives décrites plus bas dans CONDITIONS.  Le découpage en mots et le développement des chemins ne sont pas effectués sur les mots entre  [[
et  ]] ; le développement des tildes, des paramètres, des variables, le développement arithmétique, la substitution de commande et de processus, ainsi que la suppression des protections sont effectués. Les opérateurs conditionnels comme -f ne doivent pas être protégés afin d'être reconnus comme primitives.
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567
8 oct. 2010 à 21:26
Re,

Voir aussi (toujours dans man bash)

CONDITIONS
Les conditions sont utilisées par la commande composée [[ et les commandes internes test et [ pour vérifier l'état d'un fichier et effectuer des comparaisons arithmétiques ou sur des chaînes. 
0
yuri648 Messages postés 677 Date d'inscription mardi 30 décembre 2008 Statut Membre Dernière intervention 20 mai 2015 7
8 oct. 2010 à 21:38
merci bcp pour l'explication
le probleme man bash est en anglais
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567
8 oct. 2010 à 21:40
Re,

Tu peux le trouver sur net en français
http://pwet.fr/man/linux/commandes/bash/

Tu as quoi comme distribution?
On pourra peut être installer les pages man en français.
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 896
9 oct. 2010 à 10:19
Salut,

Dans certaines distributions récentes (Mandriva par exemple), beaucoup de pages de man en français ont disparu et pire encore, des pages de man tout court ;-((

Exemples :

$ man ls
Il n'y a pas de page de manuel pour ls.
[jp@MDK-2010 ~]$ man tr                
Il n'y a pas de page de manuel pour tr.

Si on veut un descriptif sommaire, il faut passer par "ls --help" ;-(((
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567
9 oct. 2010 à 10:27
Salut,

Si on veut un descriptif sommaire, il faut passer par "ls --help" ;-(((
Et avec info ls, ça donne quoi?

Il n'y a pas de page de manuel pour ls.
Ca c'est effectivement un peu bizarre.
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 896
9 oct. 2010 à 10:36
Re-

info ls :

File: dir       Node: Top       This is the top of the INFO tree

  This (the Directory node) gives a menu of major topics.
  Typing "q" exits, "?" lists all Info commands, "d" returns here,
  "h" gives a primer for first-timers,
  "mEmacs<Return>" visits the Emacs topic, etc.

  In Emacs, you can click mouse button 2 on a menu item or cross reference
  to select it.

* Menu:

Archiving
* Cpio: (cpio).                 Copy-in-copy-out archiver to tape or disk.
* Shar utilities: (sharutils).  Shell archiver, uuencode/uudecode.
* Tar: (tar).                   Making tape (or disk) archives.

Basics
* Ed: (ed).                     The GNU line editor
* Finding files: (find).        Operating on files matching certain criteria.

Editors
* nano: (nano).                 Small and friendly text editor.

etc.

Aucune trace de "ls" ;-(((
0