Opération Unaire — Wikipédia

Thursday, 11 July 2024

J'ai besoin d'un script pour continuer à interroger le répertoire "receive_dir" jusqu'à ce que "stopfile" soit écrit dans le répertoire. Cela doit fonctionner malgré le répertoire vide. Jusqu'à présent, j'ai ceci mais échoue si receive_dir est vide sans fichiers avec "opérateur unaire attendu". Aidez-moi!! Cela fera ce que vous demandez (boucle jusqu'à ce que le fichier d'arrêt existe). J'ai ajouté un "sleep 1" pour réduire l'utilisation des ressources. C'est aussi une bonne pratique d'utiliser "#! / Usr / bin / env ksh" en tant que shebang. #! /usr/bin/env ksh until [ -e receive_dir/stopfile] do time=$(date +%m-%d-%Y-%H:%M:%S) echo $time sleep 1 done Si vous avez un répertoire vide, le until [ $i = stopfile] est évalué comme until [ = stopfile] Quelle est l'erreur de syntaxe de cours? Un commentaire: n'parsing jamais la sortie de ls. #! /bin/bash do_something() { echo $(date +%m-%d-%Y-%H:%M:%S) "$1"} dir=". " until [[ -f "$dir/stopfile"]] do find "$dir" -print0 | while IFS= read -r -d '' filename do do_something "$filename" done done ou (beaucoup plus lent) do_something() { echo $(date +%m-%d-%Y-%H:%M:%S) "$1"} export -f do_something dir=". "

  1. Operateur unaired attendu de
  2. Opérateur unaire attend les
  3. Operateur unaired attendu dans

Operateur Unaired Attendu De

dans mon script bash, j'ai une fonction pour renvoyer 0 ou 1(vrai ou faux) pour la fonction principale de l'état. function1 () { if [[ "" =~ "^.. regexp... $"]]; then return 1 else return 0 fi} puis, dans ma fonction principale: main () { for arg in $ {@}; do if [ function1 $ { arg}]; then... elif [... ]; then... fi done} cependant, lorsque j'ai exécuté ce script, il m'a toujours donné un msg d'erreur "[: fonction1: opérateur unaire attendu" quelqu'un peut m'aider s'il vous plaît? Notez que, au moins dans bash, version 4, vous ne devez pas citer l'expression régulière: en faisant cela, les forces de simple correspondance de chaîne -- documentée ici. Aussi, vous devez utiliser for arg in " [email protected] " avec les guillemets, ou plus simple for arg; do... Vous devriez mettre votre regex dans une variable. pattern='^.. $'; if [[ $1 =~ $pattern]]. Notez qu'à l'intérieur de doubles crochets, il n'est pas nécessaire de citer les variables et que glenn a dit, la regex (variable) ne doivent jamais être cité.

Opérateur Unaire Attend Les

Je reçois ce message d'erreur lors de la comparaison de deux valeurs entières dans un script bash [: 2315669844: unary operator expected. J'ai recherché cette erreur et rien ne semble fonctionner pour mon cas. Voici une partie de mon script CURR_AVAIL=`df /home2 | tail -1 | awk "{ print $4}"` DIFF_AVAIL=$((CURR_AVAIL-PREV_AVAIL)) echo "---------------------------------------------" >> sys_log date >> sys_log if [ "$DIFF_AVAIL" –gt 1000]; then echo $DIFF_AVAIL >> sys_log elif [ "$DIFF_AVAIL" –lt -1000]; fi; Réponses: 1 pour la réponse № 1 Les lignes où l'erreur se produit probablement sont et Si $DIFF_AVAIL est en quelque sorte complètement vide, alors [ "$DIFF_AVAIL" –lt -1000] va devenir [ -lt -100] tandis que -lt attendez-vous à deux paramètres sur ses deux côtés en tant qu'opérateur binaire. Essayer echo ing $DIFF_AVAIL pour vérifier s'il est vide pour une raison quelconque. Cela devrait être la raison la plus possible ici. Je vois également un problème lié à l'éditeur de texte dans votre code.

Operateur Unaired Attendu Dans

nombre entier attendu comme expression (4) Cela m'a pris un peu de temps pour trouver ceci mais notez que si vous avez une erreur d'espacement, vous aurez également la même erreur: [: =: unary operator expected Correct: if [ "$APP_ENV" = "staging"] contre if ["$APP_ENV" = "staging"] Comme toujours, la définition de la variable de débogage -x aide à les trouver: set -x J'ai essayé de comprendre ce qui ne va pas avec cela, mais je ne peux pas le comprendre.. C'est la partie qui semble être une erreur.. elif [ $operation = "man"]; then if [ $aug1 = "add"]; then # <- Line 75 echo "Man Page for: add" echo "" echo "Syntax: add [number 1] [number 2]" echo "Description:" echo "Add two different numbers together. " echo "Info:" echo "Added in v1. 0" elif [ -z $aug1]; then echo "Please specify a command to read the man page. " else echo "There is no manual page for that command. " fi J'ai cette erreur: calc_1. 2: line 75: [: =: unary operator expected
Cet article est une ébauche concernant les mathématiques et l' informatique. Vous pouvez partager vos connaissances en l'améliorant ( comment? ) selon les recommandations des projets correspondants. En mathématiques et en programmation informatique, une opération unaire, aussi appelée une fonction monadique, est une opération à un opérande ou une fonction a un seul argument. Exemples en mathématiques [ modifier | modifier le code] Valeur absolue ( | x |) d'un nombre réel. Opposé ( - x) d'un nombre réel. Carré ( x²) d'un nombre réel. Inverse ( g -1) d'un élément d'un groupe. Exponentielle,. Exponentielle de base a,. Exemples en programmation [ modifier | modifier le code] Famille des langages C [ modifier | modifier le code] Dans la famille des langages C, les opérations suivantes sont unaires: Incrément: ++ x, x ++ Décrément: −− x, x −− Adresse ou référence: & x Indirection ou déréférencement: * x Ne rien faire: + x Opposé: − x Complément à un: ~ x Négation:! x Sizeof: sizeof x, sizeof( type) Conversion de type: ( type) cible Portail de l'informatique Portail des mathématiques Portail de la programmation informatique