Befehl für die Kommandozeile in der shell scripting
HALLO alle, ich bin Neuling auf scripting, ich bin hier mit dem problem ,dass ich nicht in der Lage, Kommandozeilen-Variablen, um mein Skript .
biz$: ./myproject.sh -x file2
Meine(gegeben) myproject hat diesen Inhalt:
Type ="" //here i pass first argument
while [ $# -gt 0]
case "$1" in
-x) shift; type = "x" >&2;shift ;;
-y) shift; type = "y" >&2;shift ;;
###################################################
BEGIN{
if ($7 == '/'){
if ($2 != "zzzz"){
printf ("error",$0);
if ($3 < 111){
printf ("error", $0);
}
file = " " //here i want to pass my argument file2.
Bitte helfen Sie mir dieses Problem zu lösen, ich bin nicht in der Lage, sich zu bewegen furthur ohne eine Lösung dieses, ich bin der neue Mann für das scripting. Ich kann cange $2 $3 $7..Experten pls ich brauche Eure Vorschläge.
- Dein Beispiel ist nicht klar. Wollen Sie
file2
im awk-code oder die bash-code? - bash code..myproject.sh rufen Sie Datei2(ich habe den Namen geändert sorry)
- Sorry, aber dein code ist noch nicht klar. Es sind Fehler in der bash-Teil (keine
do
nach Zeit, Raum, fehlen in der[
) und diecase
ist nicht beendet. Der untere Teil scheint Teil einerawk
Skript, wieder mit Fehler in der it (mehrere}
fehlt). Willst du Lesen einbash
variable ausawk
?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich glaube, dass Sie die BASH benutzen, und Sie wollen erhalten die Kommandozeilen-Parameter in zwei Variablen in Ihrem Skript. In dem Fall, der professionelle Ansatz ist die Verwendung von 'getopts'
Entnehmen Sie bitte diesem link : bash-Befehlszeilen-Argumente für weitere details.