shell语句中安装oracle准备
#! /bin/bash read -p "请输入管理组名称:" dba read -p "请输入安装组名称:" oinstall read -p "请输入用户名称:" tester read -p "请输入用户密码:" pass read -p "请输入Oracle安装路径目录:" mydir read -p "请输入Oracle安装包文件名:" oracle_filename read -p "请输入Oracle安装包如 ftp://10.109.149.202/download/Database/ 远程路径:" path # 定义install函数 install(){ cd /tmp if [ -f "$oracle_filename" ] then echo "文件存在!" else echo "文件不存在" echo "文件拷贝中..." wget $path$oracle_filename echo "文件下载完成" fi # 文件解压 unzip $oracle_filename # 判断文件是否存在 if [ -d "database" ] then echo "文件夹存在" cd /tmp/database ./runinstaller else echo “文件解压失败” fi } # 定义oracle安装函数 oracle_install(){ su - $tester # 判断当前用户是否为$tester if [ "$USER" == "$tester" ] then echo "当前用户是"$tester": " install else echo "当前用户不是"$tester": " fi } # 定义editenv函数 editenv(){ #进入用户目录 cd /home/$tester #向文件中插入内容 sed -i "10a ORACLE_BASE=/oracle" /home/$tester/.bash_profile sed -i "11a ORACLE_HOME=$mydir" /home/$tester/.bash_profile sed -i "12a ORACLE_SID=orcl" /home/$tester/.bash_profile sed -i "13a PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin" /home/$tester/.bash_profile sed -i "14a LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib" /home/$tester/.bash_profile sed -i "15a export ORACLE_BASE" /home/$tester/.bash_profile sed -i "16a export ORACLE_HOME" /home/$tester/.bash_profile sed -i "17a export ORACLE_SID" /home/$tester/.bash_profile sed -i "18a export PATH" /home/$tester/.bash_profile sed -i "19a export LD_LIBRARY_PATH" /home/$tester/.bash_profile # 更新文件内容 source /home/$tester/.bash_profile # 判断 if [ "$ORACLE_BASE"=="/oracle" ] then echo "环境变量文件配置成功!" else echo "环境变量文件配置失败!" fi } #定义创建目录函数 createdir(){ mkdir -p $mydir 1>> /tmp/correct.txt 2>> error.txt if [ -d "$mydir" ] then echo "目录创建成功" # 修改 oracle 安装目录属主和属组 chown -R "$tester"."$oinstall" /oracle # 修改 oracle 安装目录操作权限 chmod 755 -R /oracle editenv else echo "目录创建失败" fi } # 定义创建用户的函数 createuser(){ # 新建用户,用户录属于 dba 和 oinstall useradd $tester -g $oinstall -G $dba 1>> /tmp/correct.txt 2>> error.txt # 查看创建成功后添加到/etc/passwd文件中 finduser=`grep "$tester" /etc/passwd |cut -d : -f 1` if [ "$finduser" == "$tester" ] then echo "用户创建成功" # 修改密码 echo "$pass" | passwd --stdin $tester 1>> /tmp/correct.txt 2>> /tmp/error.txt echo "密码修改成功" #调用函数 createdir else echo "用户创建失败" fi } creategrp(){ #创建管理组 groupadd $dba 1>> /tmp/correct.txt 2>> error.txt finddba=`grep "$dba" /etc/group |cut -d : -f 1` # 判断管理组是否存在 if [ "$finddba" == "$dba" ] then echo "管理组创建成功" groupadd $oinstall 1>> /tmp/correct.txt 2>> error.txt # 查找安装组并定义变量 findoinstall=`grep "$oinstall" /etc/group |cut -d : -f 1` # 判断安装组是否存在 if [ "$findoinstall" == "$oinstall" ] then echo "安装组创建成功" #调用创建用户组函数 createuser else echo "安装组创建失败" fi else echo "管理组创建失败" fi } # 判断当前用户是否为ROOT if [ "$USER" == "root" ] then echo "当前用户是root" creategrp oracle_install else echo "当前用户不是root" fi