#!/bin/bash
echo 'Users for system Alderaan: '
read 'Ald'
echo 'Users for system Coruscant: '
read 'Cor'
echo 'Users for system Endor: '
read 'End'
echo 'Users for system Hoth: '
read 'Hot'
echo 'Users for system Tatooine: '
read 'Tat'
echo SUM=$(($Ald $Cor $End $Hot $Tat))
echo AVG=$(($SUM / 5))
Users for system Alderaan:
4
Users for system Coruscant:
4
Users for system Endor:
4
Users for system Hoth:
4
Users for system Tatooine:
4
SUM=20
./starwars: line 15: / 5: syntax error: operand expected (error token is "/ 5")
我為“5”嘗試了幾種不同的方法,但我似乎無法弄清楚。
uj5u.com熱心網友回復:
問題是這條線...
echo SUM=$(($Ald $Cor $End $Hot $Tat))
... 不包含對 的賦值SUM。它只是列印類似于 shell 分配的輸出。因此,在下一行...
echo AVG=$(($SUM / 5))
...$SUM擴展為空,讓您嘗試將“ / 5”作為算術運算式求值。
試試這個:
SUM=$(($Ald $Cor $End $Hot $Tat))
echo SUM=$SUM
echo AVG=$(($SUM / 5))
請注意,也沒有對 進行賦值AVG,但這并不重要,因為您沒有嘗試使用任何此類變數。
uj5u.com熱心網友回復:
你永遠不會設定SUM變數。您正在列印 ( echo) 一個命令,SUM如果您要運行該命令,該命令將設定變數,但您沒有運行該命令,只是列印它。
echo <... something ...>
只會列印<... something ...>,實際上不會運行<... something ...>。<... something ...>從字面上運行只是把
<... something ...>
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/383941.html
上一篇:e^x沒有math.h
下一篇:生成亂數以求和到目標的方法
