Linux下cat <<eof替換多行echo

今天在寫Oracle安裝前的環境配置腳本的時候,要在/etc/sysctl.conf文件上添加多行,以前是用的echo,以爲有點麻煩,發現能夠經過cat << EOF替換。bash

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中含有`的時候會將``內的命令轉換成結果,一樣也須要添加轉義字符好比oracle

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
相關文章
相關標籤/搜索