- 时间:2022-12-10 09:21 编辑: 来源: 阅读:
- 扫一扫,手机访问
摘要:探索PowerShell(十五) 引号与转义字符
[b]基础用法[/b]
总结说来:
单引号任何情况下都只表示引号内自身的字符。也就是说,单引号内的内容不会进行变量的代换与字符的转义。而在双引号中,则允许进行变量代换和字符转义。在对变量进行代换和字符进行转义的判断上,是由命令最外层的引号决定的。
详细介绍,还是要用示例来说明。
使用双引号输出:
[url=http://files.jb51.net/file_images/article/201212/2012120517535068.png][img]http://files.jb51.net/file_images/article/201212/2012120517535068.png[/img]
[/url]
若使用单引号,将命令改为:
[url=http://files.jb51.net/file_images/article/201212/2012120517535069.png][img]http://files.jb51.net/file_images/article/201212/2012120517535069.png[/img]
[/url]
这一点很简单,在本教程之前的文章中也有所提及。
输出引号
在单引号中,如果要打印单引号,只需要使单引号重复即可,即,两个单引号会产生一个单引号输出。
例如:
[url=http://files.jb51.net/file_images/article/201212/2012120517535070.png][img]http://files.jb51.net/file_images/article/201212/2012120517535070.png[/img]
[/url]
在单引号中输出双引号可以直接输出,不需要进行转换。如:
[url=http://files.jb51.net/file_images/article/201212/2012120517535071.png][img]http://files.jb51.net/file_images/article/201212/2012120517535071.png[/img]
[/url]
同样在双引号中,如果要输出单引号,也不需要转换,直接打印即可。 而且,如果需要在双引号中打印双引号,也只需要重复双引号即可,即,两个双引号会产生一个双引号输出。
例1:
[url=http://files.jb51.net/file_images/article/201212/2012120517535072.png][img]http://files.jb51.net/file_images/article/201212/2012120517535072.png[/img]
[/url]
例2:
[url=http://files.jb51.net/file_images/article/201212/2012120517535073.png][img]http://files.jb51.net/file_images/article/201212/2012120517535073.png[/img]
[/url]
[b]使用转义字符 [/b]
为了输出一些特殊字符,我们需要使用转义字符,在PowerShell中,转义序列由反引号定义,也就是键盘F1下面与波浪线同键的字符" ` "。
常用的转义字符串有:
| `' |
单引号 |
| `" |
双引号 |
| `0 |
空值 NULL |
| `a |
报警 |
| `b |
退格 |
| `f |
跳页 |
| `n |
新行 |
| `r |
换行 |
| `t |
横向Tab键(水平制表符) |
| `v |
纵向Tab键(纵向制表符) |
当然,在双引号中的变量名前使用反引号,也会取消此变量代换的功能。
例如上例中:
[url=http://files.jb51.net/file_images/article/201212/2012120517535074.png][img]http://files.jb51.net/file_images/article/201212/2012120517535074.png[/img]
[/url]
需要说明的另一点,就是反引号的另一个作用:承接命令语句。
当我们需要输入的命令太长,则可以在命令中合适的地方使用反引号,另起一行接着上条命令书写。至于前面所指的“合适”的地方,简单的说,总不能将一个单词拆开吧。
例如:
Get-WmiObject Win32_NetworkAdapterConfiguration | Get-Member -MemberType Methods | Format-List
上面的命令非常长,不仅不便于我们的输入,也不便于修改、查看,所以,可以使用反引号修改如下:
Get-WmiObject Win32_NetworkAdapterConfiguration |` Get-Member -MemberType Methods |` Format-List
如图:
[url=http://files.jb51.net/file_images/article/201212/2012120517535075.png][img]http://files.jb51.net/file_images/article/201212/2012120517535075.png[/img]
[/url]
只需在命令结束后多敲一次回车,表示全部命令输入完毕即可,在命令中使用反引号与否,最终的运行结果是一样的。
使用反引号,不仅能够帮助我们更加方便的书写,在编写脚本时也利于命令的修改,查看。个人感觉,尤其在管道符后面使用反引号,十分利于理清命令结构。
至于其他转义字符的使用,其实都如同于在编程语言中或者其他脚本中的使用,方法都是一样的。就请各位自己试一试吧。
微信版

扫一扫进微信版
返回顶部