簡體   English   中英

等待來自通過ssh遠程運行的腳本的輸入

[英]Waiting for input from script that is running remotely via ssh

我正在運行的腳本無法安裝在遠程計算機上。

clear && printf '\e[3J'
        read -p "Please enter device: " pattern
        read -p "Enter date: (YYYY-MM-DD): " date
        pfix=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 5 | head -n 1)
        mkdir /home/user/logCollectRes/"${pfix}"
        ssh  xxx.xxx.xxx.xxx 'bash -s' < /usr/local/bin/SearchAdvanced.sh ${pattern} ${date} ${pfix}

在該腳本中,我希望能夠使用讀取。

ls -g *"${pattern}"* 

read -p "Select one of these? [y/n] " "found";

我嘗試在讀取時添加-n以及在ssh上添加-t -t選項。 如您所見,腳本提供的信息僅在腳本啟動后才會顯示,因此我無法在本地計算機上使用讀取的信息。

編輯:所以可以說服務器B為5K計算機存儲了系統日志。 通過使用設備的內部IP和末尾的日期來指定文件名。

/var/log/remotes/192.168.1.500201505050736.gz
/var/log/remotes/192.168.1.500201505050936.gz
/var/log/remotes/192.168.1.500201505051136.gz
/var/log/remotes/192.168.1.600201505050836.gz
/var/log/remotes/192.168.1.600201505051036.gz
/var/log/remotes/192.168.1.600201505051236.gz

我希望能夠從主腳本中選擇IP地址,列出與該IP地址匹配的所有文件,然后選擇要在本地計算機上存儲的文件。

與一些同事交談后,我發現答案正在運行兩個腳本:第一個腳本提取ls -g結果並將答案定向到本地計算機上的變量。 然后,使用選擇文件打開的讀取選項來打印輸出。 第二個腳本將獲取該答案並從遠程計算機中讀取文件

在主腳本中

ssh  xxx.xxx.xxx.xxx 'bash -s' < /usr/local/bin/SearchAdvanced.sh ${pattern} ${date} > ${result}

然后作為跟進

printf "${result}"

read -p "Select file: "

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM