欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Bash?EOF的使用小結(jié)

 更新時(shí)間:2023年01月12日 10:40:31   作者:ghostwritten  
本文主要介紹了Bash?EOF的使用小結(jié),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

EOF適用場(chǎng)景:

  • 命令行多行輸出
  • 腳本包裝
  • 類型配置文件

1. 命令行輸出

$ cat << EOF
> Hello
> EOF
Hello

2. 寫入文本

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

復(fù)制終端是這樣的。

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

回車后

$ cat 1.txt
111
222
333

3. 追加文本

cat << EOF >> 1.txt
444
555
666
EOF

查看1.txt內(nèi)容

$ cat 1.txt
111
222
333
444
555
666

4. 覆蓋文本

cat << EOF >1.txt
aaa
bbb
ccc
EOF

查看

$ cat 1.txt
aaa
bbb
ccc

5. 自定義 EOF

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

輸出:

$ cat 1.txt
111
222
333

6. 另一種格式

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

查看

$ cat 1.txt
123
456
789

追加內(nèi)容

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

查看內(nèi)容

$ cat 1.txt
123
456
789
abc
def
ghi

7. 示例

7.1 配置文件

或者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

7.2 新建分區(qū)并掛載

$ 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

7.3 設(shè)置變量

$ sql=$(cat <<EOF
SELECT foo, bar FROM db
WHERE foo='baz'
EOF
)

$ echo -e "$sql"

7.4 輸出腳本

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

查看內(nèi)容

$ cat print.sh
#!/bin/bash
echo $PWD
echo /home/user

7.5 匹配輸出

$ cat <<EOF | grep 'b' | tee b.txt
> foo
> bar
> baz
> EOF
bar
baz

$ cat b.txt
bar
baz

7.6 json 文本

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?

到此這篇關(guān)于Bash EOF的使用小結(jié)的文章就介紹到這了,更多相關(guān)Bash EOF內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論