Il s'agit de la commande shell-quotep qui peut être exécutée dans le fournisseur d'hébergement gratuit OnWorks en utilisant l'un de nos multiples postes de travail en ligne gratuits tels que Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS.
PROGRAMME:
Nom
shell-quote - citer les arguments pour une utilisation sûre, non modifiés dans une commande shell
SYNOPSIS
citation de coquille [interrupteur] ... arg...
DESCRIPTION
citation de coquille vous permet de transmettre des chaînes arbitraires à travers le shell afin qu'elles ne soient pas
modifié par la coquille. Cela vous permet de traiter des commandes ou des fichiers avec un espace blanc intégré
ou shell globbing caractères en toute sécurité. Voici quelques exemples.
EXEMPLES
ssh conservation args
Lors de l'exécution d'une commande distante avec ssh, ssh ne conserve pas les arguments séparés qu'il contient.
reçoit. Il les joint simplement avec des espaces et les transmet à "$SHELL -c". Ce
ne fonctionne pas comme prévu :
ssh host touch 'salut là' # échoue
Il crée 2 fichiers, hi et là. Au lieu de cela, faites ceci :
cmd=`shell-quote touch 'salut'`
hôte ssh "$cmd"
Cela vous donne juste 1 fichier, hi là.
processus trouver sortie
Il n'est généralement pas possible de traiter une liste arbitraire de fichiers générés par trouver avec
un script shell. Tout ce que vous mettez dans $IFS pour diviser la sortie pourrait légitimement être
dans le nom d'un fichier. Voici comment procéder en utilisant citation de coquille:
eval set -- `find-type f -print0 | xargs -0 citation-shell --`
déboguer coquille scripts
citation de coquille est mieux que echo pour le débogage des scripts shell.
débogage() {
[ -z "$debug" ] || shell-quote "debug:" "$@"
}
et echo vous ne pouvez pas faire la différence entre "debug 'foo bar'" et "debug foo bar",
mais avec citation de coquille vous pouvez.
enregistrer a commander pour plus tard
citation de coquille peut être utilisé pour créer une commande shell à exécuter plus tard. Dis que tu veux le
utilisateur pour pouvoir vous donner des commutateurs pour une commande que vous allez exécuter. Si tu ne le fais pas
souhaitez que les commutateurs soient réévalués par le shell (ce qui est généralement une bonne idée, sinon
il y a des choses que l'utilisateur ne peut pas traverser), vous pouvez faire quelque chose comme ceci :
user_switches=
tandis que [ $# != 0 ]
do
caisse x 1 $ dans
x--pass-through)
[ $# -gt 1 ] || mourir "besoin d'un argument pour 1 $"
user_switches="$user_switches "`shell-quote -- "$2"`
changement;;
# traiter d'autres commutateurs
Esac
décalage
fait
# plus tard
eval "shell-quote some-command $user_switches mes arguments"
OPTIONS
--déboguer
Activez le débogage.
--Aidez-moi
Afficher le message d'utilisation et mourir.
--version
Affichez le numéro de version et quittez.
DISPONIBILITÉ
Le code est sous licence GNU GPL. Vérifier http://www.argon.org/~roderick/ ou CPAN pour
versions mises à jour.
Utilisez Shell-quotep en ligne à l'aide des services onworks.net