2017-03-08 3 views
0

Kann somone mir dabei helfen: also ich dieses Skript habeRun Linux-Shell-Skript mit Argumenten

#!/bin/bash 


echo -n "Enter a value for X:(999 to exit): " 
read x 

until [[ $x == 999 ]] 
do 

echo -n "Enter a value for Y: " 
read y 
echo "X="$x 
echo "Y="$y 
((a=y+x)) 
echo "X+Y="$a 
((s=y-x)) 
echo "X-Y="$s 
((m=y*x)) 
echo "X*Y="$m 
((d=y/x)) 
echo "X/Y="$d 
((m=y%x)) 
echo "X%Y="$m 

echo -n "Enter a value for X:(999 to exit): " 
read x 
if [[ $x == 999 ]]; 
then 
    exit 0 
fi 

done 
exit 0 

, aber ich weiß nicht, wie man den Rest davon zu schreiben, die fehlende Sache ist: Verwenden Sie die zwei Befehle Zeilenargumente, wenn das Skript gestartet wird, wenn der Benutzer sie angegeben hat, und dann zur Eingabe weiterer Zahlen aufgefordert werden, um in der Schleife fortzufahren.

+0

Bitte nehmen Sie sich einen Blick auf [Bearbeitungshilfe] (http://stackoverflow.com/editing-help). – Cyrus

Antwort

1

Ich rate die Argumente, die Sie von dem Benutzer suchen, sind x und y Werte. Der einfachste Weg zu überprüfen, ob vom Benutzer bereitgestellte Argumente verwendet werden, ist die Verwendung von $#, wodurch Sie die Anzahl der vom Benutzer angegebenen Argumente erhalten.

So ist es wie folgt verwenden:

if [ "$#" -eq 2 ];  #2 arguments provided by user 
then 
    x=$1 
    ... 
fi