2014-09-01 72 views
-2
#!/bin/ksh 
    for i in 1 2 3 4 5 
    do 
     echo "hello world"> $i 
    done 
    v = echo $? 
    if [ $v -eq 0 ]; then 
    echo " Completed" 
    else 
    echo "Not completed" 
    fi 

無法在V =回波S 3的值獲得由於這一點,如果條件總是失敗無法獲取在殼變量中的值

+1

幾個錯誤:從您使用命令'VAR = $(命令)'設置變量,這裏有'='沒有空格。然後,echo「hello world」> $ i'會輸出到一個名爲$ i的文件,而不是一個變量。 – fedorqui 2014-09-01 08:56:07

+0

不要忘記,在shell中分配變量時,不能在'='周圍有空格。 – Barmar 2014-09-01 09:02:03

+0

謝謝你們 – 2014-09-01 09:03:36

回答

1

錯誤邏輯使用只是這個(直接分配):

v=$? 
0

而不是v = echo $?

要麼寫

v=`echo $?` 

OR

v=$?