转载请注明文章转载自:Dbabc.Net [http://dbabc.net]
今天在写Oracle安装前的环境配置脚本的时候,要在/etc/sysctl.conf文件上添加多行,之前是用的echo,觉得有点麻烦,发现可以通过cat <<eof替换。
cat << EOF >> /etc/sysctl.conf ###install oracle by liups echo begin kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 fs.file-max = 65536 net.ipv4.ip_local_port_range = 1024 65000 net.core.rmem_default = 262144 net.core.rmem_max = 262144 net.core.wmem_default = 262144 net.core.wmem_max = 262144 ###install oracle by liups echo end EOF
这样就可以轻松搞定了,不需要每次都得修改echo里面的值了。,
发现在cat <<eof中如果带有 $变量的时候会将$和变量名变成空格,想到到转义字符\添加之后可以搞定。同样cat <<eof中含有`的时候会将“内的命令转换成结果,同样也需要添加转义字符\比如
cat << EOF >/home/oracle/.bash_profile PATH=\$PATH:\$HOME/bin export ORACLE_BASE=/u01/app/oracle export ORACLE_HOME=\$ORACLE_BASE/10.2.0/db_1 export ORACLE_SID=yqpt export PATH=\$PATH:\$ORACLE_HOME/bin export NLS_LANG="AMERICAN_AMERICA.AL32UTF8" EOF
在mysql数据库操作:
- #!/bin/bash
- mysql_user=root
- mysql_password=abc/123
- mysql -u $mysql_user -p$mysql_password <<EOF
- create database xuqq;
- EOF
附录:Linux cat使用详解:http://wenku.baidu.com/view/5171c3d133d4b14e852468f9.html