我有一个虚拟机,其中有一个文件夹A,其中包含doc1.txt
doc2.txt
king1.so
和king2.so
我正在尝试使用ssh
列出来自另一个VM的特定扩展名的文件。
VAR_PATH="/predefined/path/to/A"
echo $VAR_PATH
for file_path in `ssh user@xxx.xxx.xxx.xxx "find $VAR_PATH -iname "*.so""`
do
echo $file_path
done
这不起作用,并给我带来错误,因为
Find:路径必须在表达式之前:sample.so用法:Find[-H][-L][-P][-OLevel][-D HELP|TREE|SEARCH|STAT|RATES|OPT|EXEC][路径...][表情]
当我在find
命令中硬编码路径时,同样的命令也适用
for file_path in `ssh user@xxx.xxx.xxx.xxx "find /predefined/path/to/A -iname "*.so""`
do
echo $file_path
done
如何在此for循环内的ssh命令中传递PATH变量?
2条答案
按热度按时间epfja78i1#
试试这个:(CentOS 8测试通过)
btxsgosb2#
最好不要使用for循环,并将输出存储在数组中,然后就可以循环或执行任何操作。