如何获取文件夹的文件和子文件夹

时间:2013-03-19 11:38:25

标签: bash

我正在尝试创建一个简单的bash脚本,它将回显文件夹中的所有文件,包括子文件夹。以下是我的代码。但我得到的输出只是ls $ fromFolder

#! /bin/bash

fromFolder="~/proj/activex"
toFolder="~/proj/outgoing"

files='ls $fromFolder'

for file in $files 
do
    echo $file
done

由于

3 个答案:

答案 0 :(得分:3)

此处无需使用ls命令。您只需将for循环替换为:

for file in ~/proj/outgoing/*
do
   echo $file
done

答案 1 :(得分:0)

find $fromfolder -print

将打印$ fromfolder中的所有文件和子目录。

列出常规文件

find $fromfolder -print -type f

列出目录

find $fromfolder -print -type d

在你的代码中 - 这有问题     files='ls $fromFolder'

由于单引号,

$fromfolder永远不会被bash“翻译”为其值。

答案 2 :(得分:-1)

你需要使用双引号而不是单引号,这将允许shell扩展fromFolder变量:

files="ls $fromFolder"

虽然anubhava的解决方案更好