1 számot próbálok hozzáadni a parancssorból, és egy számot alapértelmezettként. Például: Amikor a felhasználó beírja az 50-es számot, a szkript hozzáad 10-et (alapértelmezett számként).
./script 50 The sum of 50+ 10 is 60. 
Ez az, amire eddig rendelkezem.
echo -n "Please enter a number: " read number default = 10 sum = $((default + number)) // this line does not seem to work echo "The sum of $number and 10 is $sum." 
Helytelen a szintaxisom? Nem vagyok biztos benne, hogy jó úton haladok-e. Helytelenül adom a számokat? Helyette használjam az awk-t?
let sum = $default + $number 
Megjegyzések
-  Csak hozzáadásra, a 
echohelyett, majd areadközvetlenül beírhatja:read -p 'Please enter a number: ' yournumber 
Válasz
A szóközök okozzák a hibákat.
Ha azt szeretné, hogy a felhasználó írja be a számot, amikor a program “Kérem, írjon be egy számot:” kérést kap, akkor a néhány helyesbítés:
#!/bin/bash echo -n "Please enter a number: " read number default=10 sum=`echo "$number + $default" | bc` echo "The sum of $number and 10 is $sum." 
Ellenőrizze:
./temp.sh Please enter a number: 50 The sum of 50 and 10 is 60. 
Ha szeretné, ha minket szeretne Ha a számot argumentumként szeretné bevinni a szkriptbe, használhatja az alábbi parancsfájlt:
#!/bin/bash number="$1" default=10 sum=`echo "$number + $default" | bc` echo "The sum of $number and 10 is $sum." 
Ellenőrizze:
./temp.sh 50 The sum of 50 and 10 is 60. 
Megjegyzések
- Miért bajlódna a bc futtatásával, csak egyszerű egész számtani művelet elvégzése érdekében?
 
Válasz
Nem lehet szóköz az “default = 10” között & “sum = $”, szintén alapértelmezett & szám előtt $ kell lennie, hogy elolvashassa a változókból.
Ezután a szkript a várakozásoknak megfelelően működik, ha az alábbiak szerint írom;
#!/bin/bash echo -n "Please enter a number: " read number default=10 sum=$(($default + $number)) echo "The sum of $number and 10 is $sum." 
Megjegyzések
Válasz
Ez a leggyorsabb módja annak, amit kért:
#!/bin/bash echo "The sum of $1 + 10 is $(($1 + 10))." 
Kimenet:
creme@fraiche:~/$ ./script.sh 50 The sum of 50 + 10 is 60. 
Megjegyzések
-  amelyek veszélyesek lehetnek – próbálkozzon 
./script.sh '((PATH=0)+(ANY_OTHER_VARNAME=[ANY INTEGER]))' - @mikeserv Nagyon pontos, azonban az I gyakorlathoz ' nem vagyok benne biztos, hogy aggodalomra ad okot. Köszönjük észrevételeit ettől függetlenül.
 
$az aritmetikai kifejezés belsejében. Például próbálja ki:num=5;def=10;echo "sum = $((num + def))"