使用shell脚本读取配置文件

时间:2016-06-04 11:24:49

标签: bash shell

我有一个配置文件,其中包含一些文件的路径。

path.conf文件

路径= /家庭/ work_group /桌面/ rt.txt

路径= /家庭/测试/

....   ....

路径= /家庭/ work_group /文档/ 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。

1 个答案:

答案 0 :(得分:1)

这是一个快速的单行程,将为您完成工作:

for i in $(awk -F'=' '{print $2}' path.conf | xargs); do chmod 0750 $i; done

$()在子shell中运行awk并输出文件名。 xargs将它们收集到一行中,以便for循环可以迭代它们。

自己应该很容易将其变成一个脚本。

更新: Tripleee指出了你的尝试中的错误,你应该听取他的意见。老实说,我只是读了第一行,认为没有意义,而是写了这个答案。