Quand dois-je utiliser -eqvs =vs== par exemple [[ $num -eq 0 ]] [[ $num = 'zzz' ]] J'ai observé un modèle d'utilisation -eq(et -ne, etc.) pour les nombres et les =chaînes. Y a-t-il une raison à cela et quand dois-je
Quand dois-je utiliser -eqvs =vs== par exemple [[ $num -eq 0 ]] [[ $num = 'zzz' ]] J'ai observé un modèle d'utilisation -eq(et -ne, etc.) pour les nombres et les =chaînes. Y a-t-il une raison à cela et quand dois-je
Dans Bash, deux entiers peuvent être comparés à l'aide d'une expression conditionnelle arg1 OP arg2 OP est l' un -eq, -ne, -lt, -le, -gtou -ge. Ces opérateurs binaires arithmétiques renvoient true si arg1 est respectivement égal, différent de, inférieur, inférieur ou égal, supérieur ou supérieur ou...
Quand je tape ceci dans le terminal test 4 -lt 6 Je ne reçois aucune sortie. Pourquoi pas? J'ai besoin de 0 ou
J'utilise bash sous Linux. J'obtiens un succès de l'instruction if suivante, mais cela ne devrait-il pas renvoyer un code d'échec? if [[ ■ = [⅕⅖⅗] ]] ; then echo yes ; fi Le carré n'égale aucun des caractères, donc je ne vois pas pourquoi j'obtiens un code de réussite. Il est important pour moi de...
J'utilise le script ci-dessous pour reculer de deux jours lorsque le script s'exécute au début de deux jours de l'année et également vérifier les premier et deuxième jours de chaque mois et reculer de deux jours. if [$month="01"] && [$day="01"]; then date="$last_month/$yes_day/$last_year"...
Pour les versions de Bash antérieures à "GNU bash, version 4.2", existe-t-il des alternatives équivalentes pour l' -voption de la testcommande? Par exemple: shopt -os nounset test -v foobar && echo foo || echo bar # Output: bar foobar= test -v foobar && echo foo || echo bar #...
Supposons que je veuille comparer la gccversion pour voir si la version minimale du système est installée ou non. Pour vérifier la gccversion, j'ai exécuté ce qui suit gcc --version | head -n1 | cut -d" " -f4 La sortie était 4.8.5 J'ai donc écrit une simple ifdéclaration pour comparer cette version...
J'écrivais un script bash et soudain ce comportement a commencé: [[ 1 < 2 ]]; echo $? # outputs 0 [[ 2 < 13 ]]; echo $? # outputs 1 mais -ltfonctionne bien: [[ 1 -lt 2 ]]; echo $? # outputs 0 [[ 2 -lt 13 ]]; echo $? # outputs 0 ai-je accidentellement écrasé d'une <manière ou d'une autre?...
J'ai remarqué en répondant à une autre question que testet [sont des binaires différents, mais la [page de manuel tire vers testle haut . Outre l'exigence d'une fin ], y a-t-il une différence? Sinon, pourquoi sont-ils des binaires séparés au lieu d'être liés par des liens symboliques? (Ils sont...
Je viens de trouver un moyen de démarrer zshlorsque je démarre le bashsous Windows à partir de https://www.howtogeek.com/258518/how-to-use-zsh-or-another-shell-in-windows-10/ . Il a recommandé d'ajouter le code suivant au dernier .bashrc. # Launch Zsh if [ -t 1 ]; then exec zsh fi Que veut [ -t 1...
Est-ce que if [[ "$1" = pattern ]]; then hook fi se comportent toujours comme case "$1" in pattern) hook;; esac ou y a-t-il des
De man bash: CONDITIONAL EXPRESSIONS [...] -a file True if file exists. [...] -e file True if file exists. Quelle est donc la différence entre [ -a $FILE ]et [ -e $FILE ], le cas échéant? S'il n'y a pas de réelle différence, pourquoi existe-t-il deux drapeaux dans le même but?...
Le intégré testet les [utilitaires ont les tests -nt("plus récent que") et -ot("plus ancien que") dans la plupart des shells, même lorsque le shell s'exécute en "mode POSIX" (également vrai pour les utilitaires externes des mêmes noms sur le systèmes auxquels j'ai accès). Ces tests permettent de...
Stéphane Chazelas a écrit: quelques règles comme toujours citer des variables n'utilisez jamais l' opérateur -aor -o(utilisez plusieurs [commandes et les opérateurs shell &&et ||) Faire [fiable avec des coquilles POSIX. Pourquoi "ne jamais utiliser l' opérateur -aor -o"? Comment puis-je...
J'ai lu une instruction pour planifier un script le dernier jour du mois: Remarque: Le lecteur astucieux se demande peut-être comment définir une commande à exécuter le dernier jour de chaque mois, car vous ne pouvez pas définir la valeur dayofmonth pour couvrir chaque mois. Ce problème a tourmenté...
Problème: je dois vérifier si aujourd'hui est jeudi et effectuer différentes actions en fonction du résultat de cette condition. J'ai essayé deux approches différentes: Obtenir le nom du jour: DAYOFWEEK=$(date +"%a") echo DAYOFWEEK: $DAYOFWEEK if ["$DAYOFWEEK" == "Thu"]; then echo YES else echo NO...
J'ai un script shell nommé 'teleport.sh' comme ceci: if [ $1="1" ]; then shift mv "$@" ~/lab/Sun elif [ $1="2" ]; then shift mv "$@" ~/lab/Moon elif [ $1="3" ]; then shift mv "$@" ~/lab/Earth fi Quand j'exécute: sh teleport.sh 2 testfile Ceci testfileest déplacé vers le ~/lab/Sunrépertoire, ce qui...
Si je crée un fichier en tant qu'utilisateur non privilégié et que je change le mode d'autorisation en 400, il est correctement vu en lecture seule par cet utilisateur: $ touch somefile $ chmod 400 somefile $ [ -w somefile ] && echo rw || echo ro ro Tout est bien. Mais la racine arrive: # [...
J'ai vérifié un de mes scripts avec checkbashisms et j'ai reçu les avertissements suivants: possible bashism in check_ssl_cert line 821 (test -a/-o): if [ -n "${ALTNAMES}" -a -n "${COMMON_NAME}" ] ; then Dans la section 4.62.4 des spécifications POSIX, je trouve primary -a primary Exécute un...
J'obtiens ce que j'attendais en faisant cela dans bash: [ "a" == "a" ] && echo yes Ça m'a donné yes. Mais quand je le fais zsh, j'obtiens ce qui suit: zsh: = not found Pourquoi la même commande ( /usr/bin/[) se comporte-t-elle différemment dans différents