Je veux écrire un script shell qui prend un argument, puis l'applique aux fichiers.
Plus précisément, je veux donner un terme, puis le faire compiler term.as avec mxmlc ("mxmlc term.as"), puis exécuter term.swf avec flashplayerdebugger ("flashplayerdebugger term.swf"). Je suis assez nouveau dans l'écriture de scripts shell - des réflexions?
bash
scripts
command-line
Southpointingchariot
la source
la source
$2
est le premier argument,$3
le second, etc.$1
est réservé au nom du fichier. Quant aux autres choses, je ne comprends pas très bien ce que vous voulez dire. Pourriez-vous s'il vous plaît essayer de l'expliquer un peu mieux ou écrire un pseudo-code?"$1"
est le premier argument.Réponses:
Vous pouvez utiliser quelque chose comme ceci:
la source
NAME
tout à fait variable et il suffit d' utilisermxmlc "$1".as
etflashplayerdebugger "$1".swf
. (Citations peuvent être à l' intérieur des expressions.)nxmlc
etflashplayerdebugger
va obtenir plusieurs arguments au lieu de l'un argument destiné. L'expansion desNAME
besoins à double cité. Sur une note de côté, ne pas utiliser tous les noms de variables en majuscules; vous risquez d' écraser des variables shell spéciales ou des variables d'environnement.Je vous recommande également d'utiliser le nom de la variable delimiter. Ainsi, le code ressemblerait à ceci:
Ceci permet l'utilisation de la variable dans un contexte, même à l'intérieur d'autres textes. Par exemple:
Cela développerait la variable NAME qui serait flanquée devant par "myFileIs" et à l'arrière avec "et c'est tout" La variable se développerait, espaces compris, à l'intérieur de la chaîne. si NAME était "à l'intérieur d'ici", le NewName serait "myFileIsinside hereand et c'est tout".
La ligne de commande peut prendre jusqu'à 9 variables. Ils peuvent être cités chaînes qui contiennent des blancs, chaque compte chaîne entre guillemets comme une variable. Tel que:
./myProg var1 var 2 var3
${1}
Est donc"var1"
,${2}
est"var"
,${3}
est"2"
,${4}
est"var3"
MAIS:
./myProg var1 "var 2" var3
a
${1}
est"var1"
,${2}
est"var 2"
,${3}
est"var3"
S'amuser!
la source