2016-02-19 31 views
0

這讓我瘋狂。我認爲它與Synology有關殼牌比較不適用於Synology

這是在Synology服務器上運行。

### VARIABLES ### 
LOGIF=/volume7/homes/admin/scripts/data/achclean-logi.txt 
HOWOLD=$(cat $LOGIF | wc -l) 
# END DEFINITIONS 


if ((${HOWOLD} >= 7)); then 
    echo -e "WORKS" >> 
fi 

我在終端得到這個錯誤:腳本名:行號:[中HOWOLD值]:找不到

如果我在Linux,紅帽運行它,它的工作原理。

HOWOLD=$(cat dfile | wc -l) 

if ((${HOWOLD} >= 2)); then 
    echo "WORKS" 
fi 

編輯: 沒有運氣!!!!!!!!

if [ "$HOWOLD" >= "7" ]; then # if 7, then it's been 7 days! 

SH:7:未知操作數

沒有運氣!!!!!!!!

if (("$HOWOLD" >= "7")); then # if 7, then it's been 7 days! 

腳本名:行號:[中HOWOLD值]:找不到

+0

,你增加了一個調試statment像'回聲 「#dbg:HOWOLD = $ HOWOLD」 工作',它打印的內容? ;-) 祝你好運。 – shellter

+1

此外,如果您使用'#!/ bin/sh'作爲您的「shebang」行,請嘗試使用'#!/ bin/bash'(或ksh)並查看是否有幫助。祝你好運。 – shellter

+0

沒有bash,所以我使用sh。我想通了,並會發布解決方案 –

回答

1

我想這是因爲無論殼牌版本的Synology正在使用的舊的然後我使用。

我把它用-ge地質儲量> =

if [ ${HOWOLD} -ge 7 ]; 
+0

我喜歡shell腳本,但是在時間 –

+0

時,它可能會很痛苦,我發現這個synology很遺憾地使用Ash。 /斌/灰 –