Il s'agit de l'utilitaire Unix "test", également appelé "[", ou de sa variante de syntaxe shell [[…]]. Pour toute question sur le test des logiciels et des configurations, utilisez la balise "testing".
Je suis un peu confus sur ce que ces opérateurs font différemment lorsqu'ils sont utilisés en bash (crochets, doubles crochets, parenthèses et doubles parenthèses). [[ , [ , ( , (( J'ai vu des gens les utiliser si, comme ceci: if [[condition]] if [condition] if ((condition)) if (condition)
Je suis confus d'utiliser des crochets simples ou doubles. Regardez ce code: dir="/home/mazimi/VirtualBox VMs" if [[ -d ${dir} ]]; then echo "yep" fi Cela fonctionne parfaitement bien que la chaîne contienne un espace. Mais quand je le change en support unique: dir="/home/mazimi/VirtualBox VMs" if [ -d ${dir} ]; then echo …
Je dois vérifier l'existence d'une variable dans une ifdéclaration. Quelque chose à l'effet de: if [ -v $somevar ] then echo "Variable somevar exists!" else echo "Variable somevar does not exist!" Et la question la plus proche de celle-ci était celle-ci , qui ne répond pas réellement à ma question.
Je peux vérifier si un fichier existe et est un lien symbolique avec -L for file in *; do if [[ -L "$file" ]]; then echo "$file is a symlink"; else echo "$file is not a symlink"; fi done et si c'est un répertoire avec -d: for file in *; …
Je suis toujours surpris qu'il /biny ait un [programme dans le dossier . Est-ce ce qu'on appelle quand on fait quelque chose comme if [ something ]:? En appelant [explicitement le programme dans un shell, il demande une correspondance ], et lorsque je fournis le crochet de fermeture, il semble …
Je vois que je peux faire $ [ -w /home/durrantm ] && echo "writable" writable ou $ test -w /home/durrantm && echo "writable" writable ou $ [[ -w /home/durrantm ]] && echo "writable" writable J'aime utiliser la troisième syntaxe. Sont-ils équivalents à tous égards et pour tous les cas négatifs …
#!/bin/bash INT=-5 if [[ "$INT" =~ ^-?[0-9]+$ ]]; then echo "INT is an integer." else echo "INT is not an integer." >&2 exit 1 fi Que fait le principal ~dans l'expression régulière de départ?
Y at-il une différence entre ces deux. [[ $a == z* ]] et [ $a == z* ] Puis-je avoir un exemple où ils auraient des résultats différents? En outre, en quoi le travail de [[ ]]diffère- [ ]t-il?
J'essaie de vérifier si une entrée est un entier et je l'ai parcouru cent fois, mais je ne vois pas l'erreur ici. Hélas, cela ne fonctionne pas, il déclenche l'instruction if pour toutes les entrées (chiffres / lettres) read scale if ! [[ "$scale" =~ "^[0-9]+$" ]] then echo "Sorry …
J'essaie d'écrire une ifdéclaration pour tester s'il existe des fichiers correspondant à un certain modèle. S'il y a un fichier texte dans un répertoire, il doit exécuter un script donné. Mon code actuellement: if [ -f /*.txt ]; then ./script fi Veuillez donner quelques idées; Je veux seulement exécuter le …
J'avais l'habitude d'être confiant sur le fait que les guillemets sont toujours une bonne pratique afin d'éviter que le shell ne les analyse. Puis je suis tombé sur ceci: $ x='(' $ [ "$x" = '1' -a "$y" = '1' ] bash: [: `)' expected, found 1 Essayer d'isoler le …
J'ai vu la technique suivante utilisée plusieurs fois sur de nombreux shells différents, pour tester si une variable est vide: if [ "x$1" = "x" ]; then # Variable is empty fi Y a-t-il des avantages à utiliser cela par rapport aux plus canoniques if [ -z "$1" ]? Serait-ce …
J'ai un répertoire avec des journaux de plantage et j'aimerais utiliser une instruction conditionnelle dans un script bash basé sur une commande find. Les fichiers journaux sont stockés dans ce format: /var/log/crashes/app-2012-08-28.log /var/log/crashes/otherapp-2012-08-28.log Je souhaite que l'instruction if ne renvoie true que s'il existe un journal des plantages pour une …
Je commence par bash et j'ai trouvé ce qui suit: if test $first -lt $second then echo $first is lower than $second else if test $first -gt $second then echo $first is higher than $second else echo $first and $second are equals fi fi Pour lire le script et l'exécuter, …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.