【发布时间】:2009-11-02 18:47:52
【问题描述】:
我设置了一个公钥/私钥对,因此我可以 ssh 到远程服务器而无需登录。我正在尝试编写一个 shell 脚本,该脚本将列出远程服务器上特定目录中的所有文件夹.我的问题是:如何指定远程位置?这是我得到的:
#!/bin/bash
for file in myname@example.com:dir/*
do
if [ -d "$file" ]
then
echo $file;
fi
done
【问题讨论】:
我设置了一个公钥/私钥对,因此我可以 ssh 到远程服务器而无需登录。我正在尝试编写一个 shell 脚本,该脚本将列出远程服务器上特定目录中的所有文件夹.我的问题是:如何指定远程位置?这是我得到的:
#!/bin/bash
for file in myname@example.com:dir/*
do
if [ -d "$file" ]
then
echo $file;
fi
done
【问题讨论】:
试试这个:
for file in `ssh myname@example.com 'ls -d dir/*/'`
do
echo $file;
done
或者简单地说:
ssh myname@example.com 'ls -d dir/*/'
解释:
【讨论】:
ssh ${SSH_USER}@${SSH_HOST} 'ls -l /path/to/dir/ | awk "{print $9}"' 中的文件 do... 似乎不起作用....谢谢 :)