2015-12-09 44 views
2

的未註釋的線抱怨「畝」文件不不存在,而註釋行的行爲與預期並給我的行數在「畝」文件遠程SSH和變量替換

vr=$(ssh $1 "cd $2; count=`cat mus | wc -l`; echo $count") 
#vr=$(ssh $1 "cd $2; cat mus | wc -l") 
echo $vr 

回答

2

您會收到此錯誤:

cat: mus: No such file or directory 

原因是該命令

count=`cat mus | wc -l` 

正在本地執行,而不是在遠程主機上執行。

要執行遠程主機上利用這裏-doc的多個命令:

ssh -t -t "$1"<<EOF 
cd "$2" 
c=\$(wc -l < mus) 
echo \$c 
exit 
EOF 
3

未註釋的行在您的本地系統上查找文件mus,而註釋的行在遠程系統上查找。你需要躲避反引號,並在此count變量$工作:

vr=$(ssh $1 "cd $2; count=\`cat mus | wc -l\`; echo \$count") 
echo $vr