如何列出此脚本输出的路径?
这是我的命令: (ls -d * /); echo -n $ i; ls -R $ i | grep“wp-config.php”;
这是我目前的输出: /wp-config.php
答案 0 :(得分:0)
您似乎想要找到名为“wp-config.php”的文件的路径。 以下是否有帮助?
find $PWD -name 'wp-config.php'
答案 1 :(得分:0)
你的脚本有点令人困惑:为什么ls -d * /没有显示任何输出? $ i的价值是多少?事实上你的问题似乎是ls -R
列出了所有子目录的内容,但没有为你的内容提供完整的路径。
嗯,find
是最好的工具,但你可以通过这样的脚本模拟它:
#!/bin/bash
searchFor=wp-config.php
startDir=${1:-.}
lsSubDir() {
local actDir="$1"
for entry in $(ls "$actDir"); do
if [ -d "$actDir/$entry" ]; then
lsSubDir "$actDir/$entry"
else
[ $entry = $searchFor ] && echo "$actDir/$entry"
fi
done
}
lsSubDir $startDir
将其保存在像findSimulator这样的文件中,使其可执行,并将其作为参数开始搜索的目录进行调用。
警告:此脚本效率不高,因为递归,它可能会在大型子目录树上停止。我强烈建议使用find
解决方案。