我試圖從unix客戶機訪問遠程ssh服務器。爲此,我使用expect腳本調用bash腳本從服務器日誌文件中獲取一些行。預計腳本無法將服務器日誌讀取到文本文件中
下面是我的代碼:爲access_srvr_log.sh文件
#!/usr/local/bin/expect -f
set pass "password"
set prompt "(%|$|#)"
spawn ssh [email protected]
expect "password:"
send "$pass\r"
expect -re $prompt
send -- "./access_srvr_log.sh\r"
send -- "exit\r"
代碼:
#!/usr/local/bin/expect
dir="/home/deployer/Desktop/McKinsey-McKinsey-AdminPanel/log"
tail -n 100 $dir/development.log
echo "hello"
echo >> log.txt
我得到這個錯誤:
./access_srvr_log.sh
-bash: ./access_srvr_log.sh: No such file or directory
請幫助。我已經對上面的代碼進行了很多更改,並最終到達了這裏。
謝謝。
你有在服務器上的腳本?如果沒有,如果你使用'send - \'cat ./access_srvr_log.sh \'',它不會工作嗎? –
在shell提示符下執行此操作:'ssh deployer @ ip ls -l access_srvr_log.sh' - 你看到了嗎? –
爲什麼你的遠程shell腳本有一個預期的shebang行? –