0
能否告訴我在這種情況下shell的問題是什麼?
當我寫和執行這個腳本(./cyklus.sh 5 10
):
1 #!/bin/bash
2
3
4 if [ $# -eq 2 ]; then
5 if [ $1 -le $2 ]; then
6 for i in {$1..$2}
7 do
8 if [ $i -lt $2 ]; then
9 echo -n "$i "
10 else
11 echo "$i"
12 fi
13 done
14 elif [ $1 -gt $2 ]; then
15 echo "Prvy argument musi byt vacsi nez druhy."
16 fi
17 else
18 echo "Nezadal si 2 argumenty"
19 fi
它輸出一個錯誤:
./cyklus.sh: line 8: [: {5..10}: integer expression expected
{5..10}
即使在開始和結束整數通過$ 1和$ 2設置在那裏。
展開階說,你不能這樣做。 Brace擴展首先發生,並且不會將'{$ 1 .. $ 2}'視爲有效。 –
所以你能告訴我如何解決這個問題嗎? – alik33
改爲在zsh中運行它。 –