免交互

Here Document 免交互

Here Document的定义

使用I/O重定向的方式将命令列表提供给交互式程序,标准输入的一种替代品

语法格式

命令 <<标记
… #标记之间是传入内容

标记

使用时的注意事项

标记可以使用任意合法字符(通常为EOF)
结尾的标记一定要顶格写,前面不能有任何字符
结尾的标记后面也不能有任何字符(包括空格)
开头标记前后的空格会被省略掉

免交互方式实现对行数的统计,将要统计的内容置于标记“EOF”之间,直接将内容传给 wc -l 来统计
wc -l <<EOF

Line1
Line2
EOF

通过 read 命令接收输入并打印,输入值是两个 EOF 标记之间的部分,作为变量 i 的值
read i <<EOF

Hi
EOF
echo $i

通过 passwd 给用户设置密码
passwd lisi <<EOF

abc1234 #这两行是输入的密码和确认密码
abc1234
EOF

支持变量替换
#!/bin/bash
file=“EOF1.txt”
i=“school”
cat > $file <<EOF
I am going to $i
EOF

cat EOF1.txt

整体赋值给变量
#!/bin/bash
var=“Great! I am going to school!”
myvar=$(cat <<EOF
This is Line 1.
Today is Monday.
$var
EOF
)

echo $myvar

关闭变量替换的功能
#!/bin/bash
var=“Great! I am going to school!”
myvar=$(cat <<‘EOF’ #对标记加单引号,即可关闭变量替换
This is Line 1.
Today is Monday.
$var
EOF
)

echo $myvar

去掉每行之前的 TAB 字符或者空格
#!/bin/bash
var=“Great! I am going to school!”
myvar=$(cat <<-‘EOF’ #对标记前加“-”,即可抑制各行首TAB或空格
This is Line 1.
Today is Monday.
$var
EOF
)

echo $myv

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值