我有一个变量,其存储的目录路径,(任选地拥有者,组),和权限,与管分离:击:的防止评估的可变
line='/opt/temp/dir/*|||a+r'
如果我回声$line
,我得到的目录子在我所期望的方式和需要:
~ /opt/temp/dir/*|||a+r
所以,现在我需要做的解析此行,其目录部分分配给相应的变量,像这样:
DIR=$(echo $line | awk -F "|" '{print $1}')
问题是,当我回显$DIR
时,由于*
,我得到了整个子目录列表。
~ # echo $DIR
/opt/oracle/asa_test/a1
/opt/oracle/asa_test/a2
/opt/oracle/asa_test/a3
/opt/oracle/asa_test/test123
但我需要得到完全的子/opt/temp/dir/*
:正如你所看到的$line
是$DIR
变量中评估
echo $DIR
~ # /opt/temp/dir/*
。 如何避免这种情况,并在第一个管道包括*
之前获得第一个子串到$DIR
变量?
引用您的变量。 – 123
哦的确如此,谢谢! –