如何获取文件夹的文件和子文件夹
我正在尝试创建一个简单的bash脚本,它将回显文件夹中的所有文件,包括子文件夹。以下是我的代码。但我得到的输出就是LS $ fromFolder如何获取文件夹的文件和子文件夹
#! /bin/bash
fromFolder="~/proj/activex"
toFolder="~/proj/outgoing"
files='ls $fromFolder'
for file in $files
do
echo $file
done
感谢
这里不需要使用ls
命令。你可以简单地取代你的for循环:
for file in ~/proj/outgoing/*
do
echo $file
done
它的工作原理。但是,当我使用变量来存储传出文件夹路径,然后使用它不起作用。以下是我尝试的代码。对于$ outgoingFolder中的文件,outgoingFolder =“〜/ proj/outgoing/*”做... – user466663 2013-03-19 12:19:25
将'*'或其他元字符放在双引号中会阻止它们的扩展。在“$ dir”/ *中使用'for file;做...;完成' – 2013-03-19 12:26:23
谢谢@JoshCartwright。我认为OP得到了他评论的答案。 – anubhava 2013-03-19 13:04:04
find $fromfolder -print
将打印的所有文件和子目录的$ fromfolder。
此列出常规文件
find $fromfolder -print -type f
此列出目录
find $fromfolder -print -type d
在你的代码 - 这有一个问题 files='ls $fromFolder'
$fromfolder
将永远不会被“翻译“通过它进入它的价值因为单引号引起的轰动。
您需要用双引号,而不是单打,这将允许外壳扩展fromFolder变量:
files="ls $fromFolder"
虽然anubhava的解决方案是更好的
这仍然不会使'files'成为'$ fromFolder'中包含的文件的名称列表。 – chepner 2013-03-19 12:04:55
怎么样'找到.' – 2013-03-19 11:42:14