Bash 如何通过SSH迭代basename输出
我正在尝试查找远程计算机上的几个已知目录,并找到最新的完整备份文件夹。我们可以假设我从SCP样式的路径数组开始,例如Bash 如何通过SSH迭代basename输出,bash,ssh,Bash,Ssh,我正在尝试查找远程计算机上的几个已知目录,并找到最新的完整备份文件夹。我们可以假设我从SCP样式的路径数组开始,例如host:/path/to/dir for path in ${paths[@]} do IFS=':' read host backupDir <<< "$path" result=`ssh "$host" 'basename $(find '"$backupDir"'/* -type d -maxdepth 1)'` echo "$result
host:/path/to/dir
for path in ${paths[@]}
do
IFS=':' read host backupDir <<< "$path"
result=`ssh "$host" 'basename $(find '"$backupDir"'/* -type d -maxdepth 1)'`
echo "$result"
readarray -t backups <<<"$result"
echo "$backups"
for backup in "$backups"
do
echo 1
echo "$backup"
done
done
${paths[@]}中的路径的
做
如果有数组,则通过$array
访问它只会给出第一个元素。您应该使用${array[@]}
表示法
for path in ${paths[@]}
do
IFS=':' read host backupDir <<< "$path"
result=`ssh "$host" 'basename $(find '"$backupDir"'/* -type d -maxdepth 1)'`
echo "$result"
readarray -t backups <<<"$result"
echo "${backups[@]}"
for backup in "${backups[@]}"
do
echo 1
echo "$backup"
done
done
${paths[@]}中的路径的
做
IFS=':'读取主机备份目录