Questions marquées «variable»

Une variable est un nom, s'il est correctement choisi avec une signification symbolique, qui contient une ou plusieurs valeurs. Utilisez cette balise si votre question est spécifique sur l'utilisation des variables dans les scripts shell (si vous voulez poser des questions sur les variables dans les langages de programmation, vous devriez probablement vous en renseigner sur StackOverflow)

2
Comment insérer des variables dans une chaîne contenant ""?
Je veux construire une chaîne xml en insérant des variables: str1="Hello" str2="world" xml='<?xml version="1.0" encoding="iso-8859-1"?><tag1>$str1</tag1><tag2>$str2</tag2>' echo $xml Le résultat devrait être <?xml version="1.0" encoding="iso-8859-1"?><tag1>Hello</tag1><tag2>world</tag2> Mais ce que je reçois c'est: <?xml version="1.0" encoding="iso-8859-1"?><tag1>$str1</tag1><tag2>$str2</tag2> J'ai aussi essayé xml="<?xml version="1.0" encoding="iso-8859-1"?><tag1>$str1</tag1><tag2>$str2</tag2>" Mais cela supprime les guillemets internes et donne: <?xml version=1.0 encoding=iso-8859-1?><tag1>hello</tag1><tag2>world</tag2>
25 bash  shell  variable  xml 






2
Définition d'une variable shell d'une manière coalescente nulle
J'aime vraiment la «coalescence nulle», où vous pouvez définir une variable à la première valeur «non nulle» dans une liste de choses. De nombreuses langues le prennent en charge, par exemple: C #: String myStr = string1 ?? string2 ?? "default"; JavaScript: var myStr = string1 || string2 || "default"; …
20 bash  shell  variable 

4
dirname et basename vs expansion de paramètres
Y a-t-il une raison objective de préférer une forme à l'autre? Performance, fiabilité, portabilité? filename=/some/long/path/to/a_file parentdir_v1="${filename%/*}" parentdir_v2="$(dirname "$filename")" basename_v1="${filename##*/}" basename_v2="$(basename "$filename")" echo "$parentdir_v1" echo "$parentdir_v2" echo "$basename_v1" echo "$basename_v2" Produit: /some/long/path/to /some/long/path/to a_file a_file (v1 utilise l'expansion des paramètres du shell, v2 utilise des binaires externes.)



5
Pipe attribue une variable
Pour plus de simplicité, je voudrais faire: echo cart | assign spo; echo $spo Sortie: chariot Une telle assignapplication existe-t-elle? Je connais toutes les façons de le faire en utilisant la substitution.
19 bash  variable 

3
Utilisation de variables shell pour les options de commande
Dans un script Bash, j'essaie de stocker les options que j'utilise rsyncdans une variable distincte. Cela fonctionne bien pour des options simples (comme --recursive), mais je rencontre des problèmes avec --exclude='.*': $ find source source source/.bar source/foo $ rsync -rnv --exclude='.*' source/ dest sending incremental file list foo sent 57 …
19 bash  variable 

1
Pourquoi $ {$ #} renvoie-t-il le même résultat que $$ dans le shell?
En essayant d'obtenir le dernier paramètre positionnel /bin/dash, j'ai essayé echo ${$#}. Étonnamment, cela n'a pas entraîné une erreur, mais un PID qui est identique au $$contenu des variables. Question, pourquoi cette syntaxe a-t-elle fonctionné? Quelle est la règle de syntaxe que le shell applique ici? En gros, ce que …
18 shell  variable 

3
Pourquoi les options d'une variable entre guillemets échouent, mais fonctionnent lorsqu'elles ne sont pas entre guillemets?
J'ai lu que je devrais citer des variables en bash, par exemple "$ foo" au lieu de $ foo. Cependant, lors de l'écriture d'un script, j'ai trouvé un cas où cela fonctionne sans guillemets mais pas avec eux: wget_options='--mirror --no-host-directories' local_root="$1" # ./testdir recieved from command line remote_root="$2" # ftp://XXX …


En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.