Questions marquées «quoting»

Les chaînes sont généralement délimitées par des guillemets, ce qui pose le problème du traitement des chaînes qui incluent des guillemets.

2
Ajouter des arguments à 'bash -c'
Disons que je veux exécuter une commande via Bash comme ceci: /bin/bash -c "ls -l" Selon la page de manuel de Bash, je pourrais également l'exécuter comme ceci: # don't process arguments after this one # | pass all unprocessed arguments to command # | | # V V /bin/bash …

1
Pourquoi «trouver» n'affiche-t-il pas ce fichier?
En utilisant findavec grep, on peut localiser les fichiers qui correspondent à un modèle: # find | grep error ./solr-modifiedSolr4/SolrPhpClient/phpdocs/errors.html ./error_log ./includes/classes/error_log Cependant, en utilisant findseul le premier fichier est introuvable: # find . -name error* ./error_log ./includes/classes/error_log Pourquoi ne trouve-t-il pas findle errors.htmlfichier lorsqu'il n'est pas utilisé avec grep? …

1
Comment s'assurer que la chaîne interpolée dans la substitution `sed` échappe à tous les métachars
J'ai un script qui lit un flux de texte et génère un fichier de commandes sed qui est ensuite exécuté avec sed -f. Les commandes sed générées sont comme: s/cid:image002\.gif@01CC3D46\.926E77E0/https:\/\/mysite.com\/files\/1922/g s/cid:image003\.gif@01CC3D46\.926E77E0/https:\/\/mysite.com\/files\/1923/g s/cid:image004\.jpg@01CC3D46\.926E77E0/https:\/\/mysite.com\/files\/1924/g Supposons que le script qui génère les sedcommandes ressemble à: while read cid fileid do cidpat="$(echo $cid | …
21 sed  quoting 

2
guillemets doubles imbriqués dans une ligne très votée
Une réponse StackOverflow avec> 3,5 K votes présente cette ligne unique pour l'attribution au DIRrépertoire du script bash actuel: DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" Je suis perplexe devant les guillemets imbriqués. Pour autant que je sache, les fragments suivants sont entre guillemets: "$( cd " "${BASH_SOURCE[0]}" …

1
utilisation de sed avec esperluette (&)
J'utilise sed pour trouver et remplacer des modèles dans les fichiers SAS que j'ai plutôt que de les modifier individuellement. Le problème est que j'essaie de remplacer les variables de macro et que lorsque j'utilise l'esperluette, il ne fonctionne pas correctement. Here's my code: sed -ie 's/user=&uid./user=&sysuserid./g' *_table_*.sas chaque fois …
19 sed  quoting  replace 

4
Comment attribuer des valeurs contenant de l'espace à des variables dans bash en utilisant eval
Je veux attribuer dynamiquement des valeurs aux variables en utilisant eval. L'exemple factice suivant fonctionne: var_name="fruit" var_value="orange" eval $(echo $var_name=$var_value) echo $fruit orange Cependant, lorsque la valeur de la variable contient des espaces, evalrenvoie une erreur, même si elle $var_valueest placée entre guillemets doubles: var_name="fruit" var_value="blue orange" eval $(echo $var_name="$var_value") …
19 bash  shell  quoting 


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 …



2
Devis simple entre guillemets doubles et manuel de référence Bash
Dans la section 3.1.2.3 intitulée Double Quotes, le manuel Bash dit: Le fait de placer des caractères entre guillemets doubles ('"') préserve la valeur littérale de tous les caractères entre guillemets, à l'exception de '$', '' ',' \ 'et, lorsque l'expansion de l'historique est activée,'! '. Pour le moment, je …
18 bash  shell  quoting 


1
Pourquoi cette commande ffmpeg fonctionne-t-elle en bash et non en zsh?
Aujourd'hui, je suis rentré du travail (exécuter bash sur une boîte Ubuntu) et j'ai essayé d'exécuter du code sur ma boîte d'archive locale avec mon bien-aimé zsh et les commandes échouaient? La commande est ci-dessous avec les informations personnelles et l'ip changé évidemment ffmpeg -i rtsp://user:pass@my.webserver.org:5554/my-media/media.amp?videocodec=h264 -threads 3 -vcodec copy …
17 bash  zsh  quoting  url 



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.