我正在尝试通过 ssh 连接到服务器来列出(ls)文件夹。是否有任何命令将输出存储为数组?

发布于 2024-11-27 09:29:31 字数 128 浏览 1 评论 0原文

我尝试使用此命令

array=`find ssh userName@Host ls Root/top/directory -type d`

,但它仅存储为单个变量而不是数组。

I'm tried using this command

array=`find ssh userName@Host ls Root/top/directory -type d`

but it's stored only as a single variable instead of array.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

拒绝两难 2024-12-04 09:29:32

您可以使用 MYARRAY=(elem1 elem2 elem3) 表示法在 bash 中创建数组。

所以它将是:

array=($(ssh userName@Host find Root/top/directory -type d))

you can use the MYARRAY=(elem1 elem2 elem3) notation for creating an array in bash.

So it will be:

array=($(ssh userName@Host find Root/top/directory -type d))
两仪 2024-12-04 09:29:32

使用 awk 或 cut 将其拆分,然后使用整数迭代数组变量。由于 ls 在新行上打印,因此您可以循环。

array=find ssh userName@Host ls Root/top/directory -type d
i=0
echo array | while read LINE;
do
myarray=${LINE[$i]}
i=$((i+1))
done

Split it up with awk or cut and then iterate over your array variable with an integer. Since ls prints on new lines, you can just loop.

array=find ssh userName@Host ls Root/top/directory -type d
i=0
echo array | while read LINE;
do
myarray=${LINE[$i]}
i=$((i+1))
done
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文