业务背景,在执行oracle文件时,需要授权给相应文件,一边我们用chown -Roracle:oraclegroup xxx,不同服务器oraclegroup名字不相同,怎么样获取呢?
方法:首先,我们可以通过命令groups oracle 获取oraclegroups,格式如下:
oracle : oinstall dba
怎么样获取group 名字(oinstall)?
提供如下方法1:利用awk 获取第三个字符串
oraclegroup=`groups oracle|grep -v grep|awk'{print $3}'`
if [ "$oraclegroup" ="" ]; then
echo "There is no Oracle group"
exit 1
else
chown -R oracle:$oraclegroup $directory
fi
方法二:利用for循环,获取第三个元素
groups=`groups oracle`
oraclegroup=""
i=0
for element in $groups
do
let i++
if [[ i -eq 3 ]]; then
export oraclegroup=$element
echo$element
break
fi
done
if [ "$oraclegroup" ="" ]; then
echo "There is no Oracle group"
exit
else
chown oracle:$oraclegroup$targetfolder/Init_Upgrademanagement.sql
fi