2012-12-04 32 views
1

我下面如何運行這是在我有http://wiki.fabelier.org/index.php?title=Permanent_Reverse_SSH_Tunneling 問題找到了一個反向的SSH隧道教程當我運行該腳本tunneling.sh:如何在crontab中自動反向隧道:語法錯誤

a=(`ps -ef | grep 19999 | grep -v grep`) 
if [ ! "$a" ]; then 
    ssh -fN -R 19999:localhost:22 <middle-usename>@<middle-hostname> 
fi 

我收到此錯誤:

tunnels.sh 1: tunnels.sh: Syntax error: "(" unexpected 

我是一個極端的新手在Linux shell腳本,所以請善待。

+1

沒有必要使用帶反引號的命令行中的括號。 – twalberg

+0

@twalberg,謝謝你做到了。隨時回答接受 – Richard

回答

1

有一個語法錯誤,這一點:

a=(`ps -ef | grep 19999 | grep -v grep`) 

它應該僅僅是:

a=`ps -ef | grep 19999 | grep -v grep` 

沒有必要爲括號那裏,雖然有一種語法來完成同樣的事情:

a=$(ps -ef | grep 19999 | grep -v grep) 

注意增加了$,並且th e反引號不再需要。

+0

現在我得到tunnels.sh:2:tunnels.sh:a:找不到。同樣,如果端口已經打開,則反向隧道試圖發射 – Richard