0
intérieur de mon script shell J'aiComment échapper un mot-clé qui est une commande dans un script shell?
#!/bin/bash
var1=$1
var2=$2
cat<<new_script<<EOF
...some code...
for i in `find/-perm 6000 -type f`; do chmod a-s $i; done
mkdir $var1
...some code...
EOF
J'ai essayé beaucoup de choses, mais je ne suis pas en mesure d'échapper à la commande « trouver ». Au lieu de l'écrire dans le script new_script, lorsque je lance ce script shell, il exécute simplement la commande find dans le terminal.
Pouvez-vous expliquer quels changements mettre EOF faire pour le faire fonctionner? –
Sans guillemets simples, les variables de comportement sont interpolées, les commandes dans les guillemets sont évaluées, etc. Cela peut être désactivé en citant n'importe quelle partie de l'étiquette, qui est ensuite terminée par la valeur non guillemets. [Source] (https://en.wikipedia.org/wiki/Here_document#Unix_shells). – Cyrus
Je dois aussi utiliser des variables. J'ai fait les modifications. –