1

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

#! /bin/bash

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

files='ls $fromFolder'

for file in $files 
do
    echo $file
done

谢谢

4

3 回答 3

3

这里不需要使用ls命令。您可以简单地将 for 循环替换为:

for file in ~/proj/outgoing/*
do
   echo $file
done
于 2013-03-19T11:47:15.550 回答
0
find $fromfolder -print

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

这列出了常规文件

find $fromfolder -print -type f

这列出了目录

find $fromfolder -print -type d

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

$fromfolder由于单引号,bash永远不会被“翻译”成它的值。

于 2013-03-19T11:45:02.797 回答
-1

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

files="ls $fromFolder"

虽然anubhava的解决方案更好

于 2013-03-19T11:48:36.173 回答