2016-09-18 157 views
0

執行腳本文件之間的區別是什麼?以下代碼在終端vs腳本文件中獲得不同的結果。在終端執行腳本文件和通過終端

for i in {1..5} 
do 
    echo $i is a number 
done 

端子輸出:

1 is a number 
2 is a number 
3 is a number 
4 is a number 
5 is a number 

腳本輸出

{1..5} is a number 

回答

1

地址:

#!/bin/bash 

默認的shell也許SH,這裏是SH另一個例子:

#!/bin/sh 
max=5 
for i in `seq 1 $max` 
do 
    echo "$i" is a number 
done 
0

嗯,這不是一個真正的答案,因爲我不能說出確切的原因(不熟悉bash,只是有時使用它),但不要使用#!/ bin/sh,使用#!/bin/bash代替bash解釋器。 bash和sh的語法有一些差異。

#!/bin/bash 
for i in {1..5} 
do 
    echo $i is a number 
done 

得到了以下的輸出:

1 is a number 
2 is a number 
3 is a number 
4 is a number 
5 is a number