2016-11-20 1 views
1

Wie der Titel schon sagt, fange ich gerade erst mit Shellscript an, weiß also nicht viel darüber!Shellscript Newbie - Ausgabe mit Wildcards & Arguments in einem Skript

ist meine Frage - warum funktioniert die folgende Platzhalter Arbeit in bash

mv *.txt /root/Dustbin 

Aber meine Shellscript-Datei bewegt sich nur eine .txt-Datei und alle nicht? Ich das Skript installieren und es nennen wie folgt

del *.txt 

Dies ist das Skript:

#!/bin/sh 
#sh scriptname del 

mv -u $1 /root/Dustbin 

#END OF SCRIPT 

Hoffnung meine Frage macht Sinn

Vielen Dank im Voraus für jede Hilfe

+0

Weil '1' $ nur eine Datei verweist. Versuchen Sie 'mv '$ @"/root/Dustbin' –

Antwort

0

$1 ist die erstes Argument des Skripts. Selbst wenn mehrere Dateien mit *.txt übereinstimmen, wird nur der erste verschoben. Wenn Sie alle von ihnen zu bewegen, benutzen Sie "[email protected]" statt:

#!/bin/sh 

mv -u "[email protected]" /root/Dustbin 
+0

Danke! Das hat es sortiert – William