我正在运行一个我无法在远程计算机上安装的脚本。
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";
我尝试在读取以及ssh上的-t -t选项上添加-n。如您所见,脚本提供了仅在脚本启动后才看到的信息,因此我无法使用本地计算机上的读取。
编辑:因此,可以说服务器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地址匹配的所有文件,然后选择我要SCP到本地计算机。
与一些同事交谈后,我发现答案正在运行两个脚本:第一个绘制LS -G结果,并将答案引向本地计算机上的变量。然后,我将通过选择文件的读取选项打印该输出。第二个脚本将获取该答案,并从远程计算机
scp scp文件。在主脚本
中ssh xxx.xxx.xxx.xxx 'bash -s' < /usr/local/bin/SearchAdvanced.sh ${pattern} ${date} > ${result}
然后作为后续
printf "${result}"
read -p "Select file: "