Bash?EOF的使用小结(bash shell)速看

随心笔谈2年前发布 编辑
173 0
🌐 经济型:买域名、轻量云服务器、用途:游戏 网站等 《腾讯云》特点:特价机便宜 适合初学者用 点我优惠购买
🚀 拓展型:买域名、轻量云服务器、用途:游戏 网站等 《阿里云》特点:中档服务器便宜 域名备案事多 点我优惠购买
🛡️ 稳定型:买域名、轻量云服务器、用途:游戏 网站等 《西部数码》 特点:比上两家略贵但是稳定性超好事也少 点我优惠购买



目录1. 命令行输出2. 写入文本3. 追加文本4. 覆盖文本5. 自定义 EOF6. 另一种格式7. 示例7.1 配置文件7.2 新建分区并挂载7.3 设置变量7.4 输出脚本7.5 匹配输出7.6 json 文本参考:

EOF适用场景:

命令行多行输出脚本包装类型配置文件

$ cat << EOF
> Hello
> EOF
Hello
cat << EOF >1.txt
111
222
333
EOF

复制终端是这样的。

cat << EOF >1.txt
> 111
> 222
> 333
> EOF

回车后

$ cat 1.txt
111
222
333
cat << EOF >> 1.txt
444
555
666
EOF

查看1.txt内容

$ cat 1.txt
111
222
333
444
555
666
cat << EOF >1.txt
aaa
bbb
ccc
EOF

查看

$ cat 1.txt
aaa
bbb
ccc
cat << a > 1.txt
111
222
333
a

输出:

$ cat 1.txt

111

222

333

cat > filename <<EOFcat << EOF > filename

cat > 1.txt <<EOF
123
456
789
EOF

查看

$ cat 1.txt
123
456
789

追加内容

cat >> 1.txt <<EOF
abc
def
ghi
EOF

查看内容

$ cat 1.txt
123
456
789
abc
def
ghi

或者cat << EOF > /usr/local/mysql/my.cnf

cat > /usr/local/mysql/my.cnf << EOF ? ? ?
[client]
port=3306
socket=/usr/local/mysql/var/mysql.sock

[mysqld]
port=3306
socket=/usr/local/mysql/var/mysql.sock

basedir=/usr/local/mysql/
datadir=/data/mysql/data
pid-file=/data/mysql/data/mysql.pid
user=mysql
bind-address=0.0.0.0
server-id=1
sync_binlog=1
log_bin=mysql-bin

[myisamchk]
key_buffer_size=8M
sort_buffer_size=8M
read_buffer=4M
write_buffer=4M

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES?
port=3306
EOF

$ cat auto_add_disk.sh ? ? ?
#!/bin/bash
fdisk ?/dev/sdb ?<<EOF
n
p
1
?
?
wq
EOF
?
/sbin/mkfs .ext4 ?/dev/sdb1 ?&& ? /bin/mkdir ?-p ?/data ?&& ?/bin/mount ?/dev/sdb1 ?/data
echo ?’LABEL=data_disk /data ext4 defaults 0 2′ ?>> ?/etc/fstab
$ sql=$(cat <<EOF
SELECT foo, bar FROM db
WHERE foo=’baz’
EOF
)

$ echo -e “$sql”

cat <<EOF > print.sh
#!/bin/bash
echo \$PWD
echo $PWD
EOF

查看内容

$ cat print.sh
#!/bin/bash
echo $PWD
echo /home/user
$ cat <<EOF | grep ‘b’ | tee b.txt
> foo
> bar
> baz
> EOF
bar
baz

$ cat b.txt
bar
baz

cat >> /etc/docker/daemon.json < EOF
{
? ?”exec-opts”: [“native.cgroupdriver=systemd”],
? ?”log-driver”: “json-file”,
? ?”log-opts”: {
? ?”max-size”: ?”100m”
? ? },
? ?”registry-mirrors”: [
? ? “https://hub-mirror.c.163.com”,
? ? “https://mirror.baidubce.com”
? ]
?}
?EOF

查看

$ cat /etc/docker/daemon.json
{
“exec-opts”: [“native.cgroupdriver=systemd”],
“log-driver”: “json-file”,
“log-opts”: {
“max-size”: “100m”
},
“registry-mirrors”: [
“https://hub-mirror.c.163.com”,
“https://mirror.baidubce.com”
]
}

How does “cat << EOF” work in bash?

What is Cat EOF in Bash Script?

到此这篇关于Bash EOF的使用小结的文章就介绍到这了,更多相关Bash EOF内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:Shell编程之/bin/bash和/bin/sh的区别浅析bash shell获取当前脚本的绝对路径(pwd/readlink)Linux系统中.bash_profile文件详解解决bash:/root/.bashrc:Permission denied的问题bash脚本如何监控cup/内存/磁盘使用率Bash脚本中括号和反引号的使用shell 脚本中常用的内置变量(Bash 内置变量)在Bash脚本中引入alias的方法

© 版权声明

相关文章