J'ai un script shell dans lequel un utilisateur passe différentes tailles en tant qu'arguments de ligne de commande. Pour chacune de ces tailles, je veux effectuer une tâche, puis enregistrer la sortie de cette tâche dans un fichier .txt avec la taille dans le nom.Script de shell: Génération du nom du fichier de sortie dans le script, puis écriture dans le script
Comment puis-je prendre la ligne de commande passée et de faire partie d'un NomChaîne pour le fichier de sortie? Je sauvegarde le fichier de sortie dans un répertoire spécifié par un autre argument de la ligne de commande. Peut-être qu'un exemple l'éclaircira. Dans le foorlop, la valeur i représente l'argument de la ligne de commande que j'ai besoin d'utiliser, mais $$ i ne fonctionne pas.
./runMe arg1 arg2 outputDir [taille1 size2 size3 ...]
for ((i=4; i<$#; i++))
do
ping -s $$i google.com >> $outputDir/$$iresults.txt
done
Je dois savoir comment construire $ outputDir/$$ chaîne iresults.txt. En outre, le ping -s $$ je ne fonctionne pas. C'est comme si j'avais besoin de deux niveaux de remplacement. J'ai besoin de remplacer le $ [$ i] interne $ i avec la valeur dans la boucle, comme 4 pour ex, ce qui en fait 4 $. Remplacez ensuite $ 4 par le quatrième argument de la ligne de commande!
Toute aide serait grandement appréciée.
Merci!
:::::::: : Bash? – wilhelmtell