我有一个配置文件,其中包含一些文件的路径。
路径.conf 文件
path=/home/work_group/Desktop/rt.txt
路径=/主页/测试/
.... ....
path=/home/work_group/Documents/offdoc/
在脚本中,我想读取所有这些文件路径并设置对它们的权限。我尝试了以下代码,但它甚至没有打印路径名。
#!/bin/bash
while IFS= read -r line || [[ -n "$path" ]]; do
if [ -n "$path" ]
then
echo "Text read from file: $path"
chmod 0750 $path
fi
path=
done < admin.cfg
有人可以帮我编写一个脚本,该脚本采用配置文件中提到的所有文件路径并将其权限设置为 0750。
这是一个快速的单行代码,可以为您完成工作:
for i in $(awk -F'=' '{print $2}' path.conf | xargs); do chmod 0750 $i; done
$()
在子外壳中运行 awk 并输出文件名。 xargs
将它们收集到一行中,以便 for 循环可以迭代它们。
自己把它变成一个脚本应该很容易。
更新:Tripleee指出了你尝试中的错误,你应该接受他的建议。老实说,我只是读了第一行,认为它没有意义,并写了这个答案。