我正在寫一段腳本,從ssh入站連接中獲取3個變量。 A ID A名稱 和一個交換機端口號變量是錯誤的命令
所有的都是fin,直到案件得到處理。對我來說,得到一個奇怪的錯誤輸出。
./installations.sh: line 11: ID_1=c8:2a:14:25:b7:f8: command not found
./installations.sh: line 12: Name_1=Jonass-MBP: command not found
./installations.sh: line 14: installationID_2=00:1f:d0:db:b7:48: command not found
./installations.sh: line 15: installationMame_2=JonasKirkPeders: command not found
No attached system on port
No attached system on port
必須將PC連接到測試目的,我可以看到正在從遠程腳本發送正確的數據。 但是,爲什麼在這種情況下,變量錯誤地作爲命令處理,而不僅僅是變量設置?
echo $1 $2 $3 >> test.log
ID=$1
NAME=$2
LANPORT=$3
if [ -z $1 ] || [ -z $2 ]; then
echo "No attached system on port $LANPORT"
else
case $LANPORT in
1) installationID$LANPORT=$ID
installationName_${LANPORT}=$NAME
;;
2) installationID_$LANPORT=$ID
installationName_${LANPORT}=$NAME
;;
3) installationID_$LANPORT=$ID
installationName_${LANPORT}=$NAME
;;
4) installationID_$LANPORT=$ID
installationName_${LANPORT}=$NAME
;;
*) echo "ERROR - NO such port!! ${LANPORT}" >> test.log
;;
esac
echo "LAN $LANPORT - $installationID_$LANPORT" >> test.log
fi
我已經跑出去的想法
'名稱_ $ {LANPORT}'是錯誤的。同樣,還有一些分配是錯誤的。 – devnull
來自C:D的l值錯誤不完全是,但bash你可以做什麼,你可以在一個文件中回顯這些文件,並從那個文件中獲取它:)否則你不能擺脫那個「需要左值」。 – PradyJord