首页 > 解决方案 > 在 FOR 和 SSH 中执行 CAT

问题描述

我在 shell 脚本方面没有太多经验,因此我需要你的帮助。我有以下查询,我需要对我列出的文件进行 CAT,但我不知道在哪里放置命令。谢谢:

read date
echo  -e  "RECORDINGS"

for e in $Rec
   do
   sshpass -p password ssh user@server find $e "-type f -mtime -10 -exec ls -gGh --full-time {} \;" | cut -d ' ' -f 4,7 | grep $date | awk -F " " '{print $2}'
done

标签: bash

解决方案


忽略这里的大部分代码是非常危险的——

find_on_server() {
  local e_q
  printf -v e_q '%q ' "$1"
  sshpass -p password ssh user@server "bash -s $e_q" <<'EOF'
    e=$1
    find "$e" -type f -mtime -10 -exec ls -gGh --full-time {} \;
EOF
# ^^^ the above line MUST NOT BE INDENTED
}

find_on_server "$e" | cut -d ' ' -f 4,7 | grep $date | awk -F " " '{print $2}'

推荐阅读