如何列出此脚本输出的路径?

时间:2014-01-12 00:28:55

标签: linux wordpress bash centos

如何列出此脚本输出的路径?

这是我的命令: (ls -d * /); echo -n $ i; ls -R $ i | grep“wp-config.php”;

这是我目前的输出: /wp-config.php

2 个答案:

答案 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解决方案。