设为首页 收藏本站
查看: 1193|回复: 0

SHELL中的特殊字符之一( # ; ;; . ” ‘ , \ / ` : * ? $ )

[复制链接]
YunVN网友  发表于 2018-8-30 08:33:20 |阅读模式
  #号:
  注释,行首以#开头为注释(#!是个例外)
  命令是不能跟在同一行上注释的后边的,没有办法,在同一行上,注释的后边想
  要再使用命令,只能另起一行.
  当然,在echo 命令中被转义的#是不能作为注释的.
  同样的,#也可以出现在特定的参数替换结构中或者是数字常量表达式中.
  echo “The # here does not begin a comment.”            #不是注释
  echo ‘The # here does not begin a comment.’             #不是注释
  echo The \# here does not begin a comment.           #不是注释  \转义字符
  echo The                                                                                    # 这里开始一个注释
  echo ${PATH#*:}                                                                  # 参数替换,不是一个注释
  echo $(( 2#101011 ))                                                           # 数制转换,不是一个注释
   号:命令分隔符,可以用来在一行中来写多个命令。
  ;;   号:终止”case”选项.
  如:
[cce]  
case "$variable" in
  
abc) echo "\$variable = abc" ;;
  
xyz) echo "\$variable = xyz" ;;
  
esac
  
[/cce]
  .  号:
  命令等价于source 命令
  作为文件名的一部分.如果作为文件名的前缀的话,那么这个文件将成为隐藏文件.将不被 ls 命令列出.
  作为目录名的一部分的话,那么.表达的是当前目录.”..”表示上一级目录.经常作为一个文件移动命令的目的地
  字符匹配,这是作为正则表达是的一部分,用来匹配任何的单个字符
  号:部分引用.”STRING”阻止了一部分特殊字符,在一个双引号中直接使用变量名,
  一般都是没有问题的.它阻止了所有在引号中的特殊字符的
  重新解释–包括变量名[2]–但是$,`和\除外.[3]保留$,作为特殊字符的意义,是为了能够在双
  引号中也能够正常地引用变量(“$var”)。
  使用”"来防止单词分割.[4]如果在参数列表中使用双引号,将使得双引号中的参数作为一个参
  数.即使双引号中的字符串包含多个单词(也就是包含空白部分),也不会变为多个参数
  用双引号把参数封到 echo 中是很有必要的,只有在单词分隔或时保留空白时的时候可能
  有些问题.
   号:单引号操作总体上和”"很像,但不允许引用变量.因为$的特殊含义被关闭了.在”中除了’,其他
  字符都没有特殊的含义了.所以单引号比双引号严格.
  因为即使是\,在”中都被关闭了,所以你想在”中显示’的含义,将得不到预期的效果.
  .  号:
  逗号链接了一系列的算术操作,虽然里边所有的内容都被运行了,但只有最后一项被
  返回.
  如:
  let “t2 = ((a = 9, 15 / 3))” # Set “a = 9″ and “t2 = 15 / 3″
  \ 号:转义字符,如\X 等价于”X”或’X',
  / 号:除法运算或是文件名路径分隔符。
  ` 号:后置应用,命令替换。
  :  号:空命令,等价于 “NOP”也可以被认为与shell 的内建命令(true)作用相同.”:”命令是一
  个 bash 的内建命令,它的返回值为0,就是shell 返回的true.
  在 if/then 中的占位符,什么都不做。
  在一个 2 元命令中提供一个占位符;使用”参数替换”来评估字符串变量
  在和 > (重定向操作符)结合使用时,把一个文件截断到0 长度,没有修改它的权限.
  如果文件在之前并不存在,那么就创建它
  还用来在/etc/passwd 和$PATH 变量中用来做分隔符.bash$ echo $PATH
  /usr/local/bin:/bin:/usr/X11R6/bin:/sbin:/usr/sbin:/usr/games
  !  号:取反操作符,将反转”退出状态”结果,
  * 号:万能匹配符,用于文件名或是正则表达式中;数学式中的乘法运算符。
  **幂运算
  ?  号:测试操作,用了测试结果,测试变量是否被set。
  正则表达式中用了匹配任意单个字符。
  $ 号:变量替换。正则表达式中德行结束符。



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-558693-1-1.html 上篇帖子: shell-一段将失效链接用复制文件替换 下篇帖子: SHELL中的特殊字符之二
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表