当前位置: 首页 > news >正文

个人备案可以做哪些网站seo编辑是干什么的

个人备案可以做哪些网站,seo编辑是干什么的,美女做直播网站,建设网站比较好公司吗1. shell变量扩展 我们知道,${var}的形式可以获取变量var的值,但其实还可以有更多花式玩法。其中~表示用户根目录其实属于 波浪线扩展,这比较常见,不展开介绍了。 下面的每种情况中,word 都要经过波浪线扩…

1. shell变量扩展

我们知道,${var}的形式可以获取变量var的值,但其实还可以有更多花式玩法。其中~表示用户根目录其实属于 波浪线扩展,这比较常见,不展开介绍了。
下面的每种情况中,word 都要经过波浪线扩展,参数扩展,命令替换和 算术扩展。如果不进行子字符串扩展,bash 测试一个没有定义或值为空的 参数;忽略冒号的结果是只测试未定义的参数。
大致描述下变量扩展的功能:

扩展功能
${var}获取变量值
${!var}取变量var的值做新的变量名,再次获取新变量名的值
${!prefix*获取prefix开头的变量名
${#parameter}获取变量长度
${parameter:-word}parameter为空时,使用wrod返回
${parameter:+word}parameter非空时,使用word返回
${parameter:=word}parameter为空时,使用word返回,同时把word赋值给parameter变量
${parameter:?word}parameter为空时,打印错误信息word
${parameter:offset}从offset位置截取字符串
${parameter:offset:length从offset位置截取length长度的字符串
${parameter#word}从头开始删除最短匹配word模式的内容后返回
${parameter##word}从头开始删除最长匹配word模式的内容后返回
${parameter%word}从尾开始删除最短匹配word模式的内容后返回
${parameter%%word}从尾开始删除最长匹配word模式的内容后返回
${parameter/pattern/string}最长匹配pattern的内容替换为string
${parameter//pattern/string}所有匹配pattern的内容替换为string

1.1 什么是${!var}

${!var}是间接扩展。bash 使用以 var 的其余部分为名的变量的值作为变量的名称; 接下来新的变量被扩展,它的值用在随后的替换当中,而不是使用var自身的值。
有点拗口,举个例子就懂了

$ var_name=val
$ val="Bash expansion"
$ echo ${!var_name}
Bash expansion

所以,${!var_name}等效于${val},就是取val_name的值作为变量名,再获取新变量名的值。

!有一种例外情况,那就是${!prefix*},下面再介绍。

1.2 什么是 ${!prefix*}#

${!prefix*}实现扩展为名称以 prefix 开始的变量名,以特殊变量 IFS 的第一个字符分隔。换句话说,这种用法就是用于获取变量名的。例如:

# 创建3个以VAR开头的变量
$ VAR_A=a
$ VAR_B=b
$ VAR_C=c
# 寻找以VAR开头的变量名
$ echo ${!VAR*}
VAR_A VAR_B VAR_C

1.3 什么是 ${parameter:-word}

${parameter:-word}表示使用默认值。如果 parameter 未定义或值为空,将替换为 word 的扩展。否则,将替换为 parameter 的值。

1.4 什么是${parameter:=word}

${parameter:=word}赋默认值。如果 parameter 未定义或值为空, word 的扩展将赋予 parameter。parameter 的值将被替换。位置参数和特殊参数不能用这种方式赋值。

${parameter:=word}和${parameter:-word}有什么差别?

举个例子:

# 删除var变量
$ unset var
# 确认var变量为空
$ echo ${var}# 当var为空时,把test赋值给var,同时返回test
$ echo ${var:=test}
test
# 可以看到,此时var已经被赋值
$ echo ${var}
test
# 再次删除var变量,继续实验
$ unset var
# 当var为空时,返回test
$ echo ${var:-test}
test
# 对比验证,此时var并没有赋值
$ echo ${var}

所以,差别在于,当parameter为空时,${parameter:=word}会比${parameter:-word}多做一步,就是把word的值赋给parameter。

1.6什么是${parameter:?word}

${parameter:?word}主要用于当parameter为空时,显示错误信息word。shell 如果不是交互的,则将退出。

1.7 什么是${parameter:+word}

如果 parameter 未定义或非空,不会进行替换;否则将替换为 word 扩展后的值。这与${parameter:-word}完全相反。简单来说,就是当parameter非空时,才使用word。

1.8 什么是${parameter:offset}

同 ${parameter:offset:length}
${parameter:offset:length}可以实现字符串的截取,从offset开始,截取length个字符。如果 offset 求值结果小于 0, 值将当作从 parameter 的值的末尾算起的偏移量。如果parameter 是 @,结果是 length 个位置参数,从 offset 开始。 如果 parameter 是一个数组名,以 @ 或 * 索引,结果是数组的 length 个成员,从 ${parameter[offset]} 开始。 子字符串的下标是从 0 开始的,除非使用位置参数时,下标从 1 开始。

1.9 什么是${parameter#word}#

参考 ${parameter##word}

${parameter##word}
word支持模式匹配,从parameter的开始位置寻找匹配,一个#的是寻找最短匹配,两个#的是寻找最长匹配,把匹配的内容删除后,把剩下的返回。例如:

$ str="we are testing, we are testing"
$ echo ${str#*are}
testing, we are testing
$ echo ${str##*are}
testing

这必须是从头开始删的,如果要删除中间的某一些字符串,可以用${parameter/pattern/string}。
如果 parameter是一个数组变量,下标是@或者是*,模式删除将依次施用于数组中的每个成员,最后扩展为结果的列表。

1.10 什么是${parameter%word}

参考${parameter%%word}

${parameter%%word}
这也是在parameter中删除匹配的内容后返回。%与#非常类似,前者是从头开始匹配,后者是从尾部开始匹配。同样的,一个%是寻找最短匹配,两个%%是寻找最长匹配。例如:

$ str="we are testing, we are testing"
$ echo ${str%are*}
we are testing, we
$ echo ${str%%are*}
we

这必须是从末端开始删的,如果要删除中间的某一些字符串,可以用${parameter/pattern/string}。
如果 parameter是一个数组变量,下标是@或者是*,模式删除将依次施用于数组中的每个成员,最后扩展为结果的列表。

1.11 什么是${parameter/pattern/string}

参考${parameter//pattern/string}

${parameter//pattern/string}和${parameter/pattern/string},主要实现了字符串替换,当然,如果要替换的结果是空,就等效于删除。一个/,表示只有第一个匹配的被替换,两个/表示所有匹配的都替换。例如:

$ str="we are testing, we are testing"
# 替换首次匹配
$ echo ${str/we are/I am}
I am testing, we are testing
# 替换所有匹配
$ echo ${str//we are/I am}
I am testing, I am testing
# 删除首次匹配
$ echo ${str/are/}
we testing, we are testing
# 删除所有匹配
$ echo ${str//are/}
we testing, we testing

如果patten以#开始,例如KaTeX parse error: Expected '}', got '#' at position 6: {str/#̲we are/},则必须从头开…{str/%are testing/},必须从末端就要完全匹配。
如果 parameter是一个数组变量,下标是@或者是*,模式删除将依次施用于数组中的每个成员,最后扩展为结果的列表。

http://www.hkea.cn/news/594137/

相关文章:

  • 哪个建设网站推广竞价托管公司
  • 网站建设傲seo网站是什么意思
  • 卢氏住房和城乡建设厅网站聚名网
  • 山东网站建设电话长沙靠谱的关键词优化
  • 山东营销型网站ip网站查询服务器
  • 什么网站上做奥数题企业培训课程清单
  • 龙岩优化seo是什么意思
  • 外贸网站建设源码软文怎么做
  • 文章列表页wordpress宁波seo资源
  • 获取网站访客qq 原理百度投诉中心人工电话
  • 企业网站制作查询百度电话怎么转人工
  • 杭州专业网站建设怎样创建网站
  • 网站建设报价表格式淘宝关键词优化技巧
  • 高端网站建设系统百度网盘登录入口官网
  • ps做网站顶部江苏网络推广公司
  • 源码做网站手机网站百度关键词排名
  • 网站关键词分隔网站链接提交
  • 福永营销型网站多少钱中国最新消息今天
  • 做网站4000-262-263网站排名优化软件有哪些
  • 网站双链接怎么做网络舆情监测平台
  • 企业网站建设制作百度网盘下载app
  • asp做一个简单网站网络营销就是seo正确吗
  • 移动wap站点公司网站设计图
  • 网站策划建设seo搜索排名影响因素主要有
  • 大型商业广场网站建设互联网推广方案怎么写
  • p2vr做的网站上传网络广告策划书范文
  • 2022年大连黄页优化搜索引擎营销
  • 宁波有几个区昭通网站seo
  • 建设企业网站方案网站优化软件哪个好
  • 郑州做网站要搜索引擎最新排名