小编xBe*_*ker的帖子

如何在“for”函数中使用空格

问题是我正在为类做一个脚本,问题是“制作一个脚本来命名实际目录中的所有文件并告诉我们它们的名称和权限”,所以我制作了以下脚本:

#!/bin/bash

for name in `ls -l . | awk {print'$9'}`
do
echo "The file $name has the following permissions: `ls -l . | grep $name | cut -d" " -f1`"
done
Run Code Online (Sandbox Code Playgroud)

好的,脚本有点工作,但问题是它不会显示ls -l列表中的所有文件,因为我正在打印9th column(文件名)但如果它有空格,则空格后面的单词在column 10,所以我这样试过:

#!/bin/bash

for name in `ls -l . | awk {print'$9,$10'}`
do
echo "The file $name has the following permissions: `ls -l . | grep $name | cut -d" " -f1`"
done
Run Code Online (Sandbox Code Playgroud)

但是当我这样做时,问题是变量 $name 会将第一列和第二列作为单独的词引用,并且它会将两者都显示为不同的文件。

我也尝试在lsusing 中转义空格, …

command-line bash scripts

4
推荐指数
2
解决办法
88
查看次数

标签 统计

bash ×1

command-line ×1

scripts ×1