我正在尝试创建一个简单的bash脚本,它将回显文件夹中的所有文件,包括子文件夹。以下是我的代码。但我得到的输出只是ls $ fromFolder
#! /bin/bash
fromFolder="~/proj/activex"
toFolder="~/proj/outgoing"
files='ls $fromFolder'
for file in $files
do
echo $file
done
由于
答案 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的解决方案更好