2009-11-02 21 views

回答

14

试试这个:

for file in `ssh [email protected] 'ls -d dir/*/'` 
do 
    echo $file; 
done 

或者干脆:

ssh [email protected] 'ls -d dir/*/' 

说明:

  • SSH命令接受可选命令之后的命令e,并且如果提供了命令,则它在登录时执行该命令而不是登录shell;然后,ssh简单地将命令的stdout作为自己的stdout传递。这里我们简单地通过ls命令。
  • ls -d dir/* /是让ls跳过常规文件并仅列出目录的一种技巧。
+0

太棒了,谢谢。 – 2009-11-02 19:22:02

+0

嗨,有没有办法添加一个awk来获取文件名?因为这个命令:'ssh $ {SSH_USER} @ $ {SSH_HOST}'中的文件'ls -l/path/to/dir/| awk“{print $ 9}”''do ...似乎不工作....谢谢:) – beluga 2015-02-26 17:00:50

相关问题