加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

bash如何知道我的变量名在哪里结束?

发布时间:2020-12-15 18:51:19 所属栏目:安全 来源:网络整理
导读:鉴于: myvar=Hello echo $myvar – 显示你好(到目前为止) echo $myvar#world – 显示Hello#world(为什么?我以为会抱怨这里没有这样的变量叫myvar#world) echo ${myvar#world} – 显示只是你好(再次,为什么?) 第二种情况分为三部分: [echo] [$myvar][#wor
鉴于:
myvar=Hello

echo $myvar – >显示你好(到目前为止)
echo $myvar#world – >显示Hello#world(为什么?我以为会抱怨这里没有这样的变量叫myvar#world)
> echo ${myvar#world} – >显示只是你好(再次,为什么?)

第二种情况分为三部分:
[echo] [$myvar][#world]
 1      2       3

第1部分是命令,第2部分是一个参数,第3部分是字符串文字.参数停止在r上,因为#不能是变量名称的一部分(变量名中不允许使用#).

shell解析器将通过$来识别参数名的起始位置,并以任何不能作为变量名称的一部分的字符结束.通常,变量名中只允许使用字母,数字和下划线,否则任何事情都会告诉shell,您已经完成了指定变量的名称.

所有这些将打印出$myvar,后跟六个字符字符:

echo $myvar world
echo $myvar?world
echo $myvar#world

如果要在参数后面直接放置可以作为参数的一部分的字符,可以在参数名称周围添加大括号,如下所示:

myvar=hello
echo ${myvar}world

其中打印出来:

helloworld

你的第三个例子是substring removal,除了没有比赛.要让它做一些有趣的事情,请尝试这样做:

myvar="Hello World"
echo ${myvar#Hello }

这只是印刷世界.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读