shell脚本输出作为命令行参数传递的文件夹中所有文件的详细信息



因此,我正在尝试编写一个脚本,在该脚本中,我将把文件夹名称作为命令行参数传递。脚本将搜索该文件夹中的文件(如果存在(,并输出所有详细信息。我的脚本如所示

for entry in "$1"/*
do
data = $(stat $entry)
echo  "${data}"
done

当我运行时,它会给我以下输出。

./test.sh: line 3: data: command not found

我从这里得到了这个想法:Stat命令有人能帮我解决问题吗
我尝试过一些变体,比如让$entry-to-entry和echo$data

您的主要问题是在等号运算符周围放置空格字符,必须删除它们:

data=$(stat $entry)

如果您的文件夹或任何文件名包含空格,在引号之间传递变量也是一种很好的做法:

data=$(stat "$entry")

我假设您将值存储到一个变量中,因为您的意图是将其用于算法中。如果你只想调用stat来列出你的文件,你可以简单地调用:

stat "$1"/*

最新更新