Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash 如何通过SSH迭代basename输出_Bash_Ssh - Fatal编程技术网

Bash 如何通过SSH迭代basename输出

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

我正在尝试查找远程计算机上的几个已知目录,并找到最新的完整备份文件夹。我们可以假设我从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"
  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=':'读取主机备份目录