Windows中的Shell编程 Shell指的是啥意思?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Windows中的Shell编程 Shell指的是啥意思?相关的知识,希望对你有一定的参考价值。

参考技术A 分类: 电脑/网络 >> 程序设计 >> 其他编程语言
解析:

操作系统中,与用户直接交互的那一部分就叫 Shell。就是你能看得到的那些元素,像 DOS 中所谓的 SHELL 就是那个命令行,在 Windows 中就是这些图形元素,在 UNIX 中,SHELL 有很多种,可以根据自己的需要更换。

shell编程之转义与引用

1.转义
转义指的是使用转义符引用单个字符,从而使其表达单纯的字符的字面含义,而不解释其特殊的含义。shell中的转义字符为"",例如:想打印字符"$array",不使用转义,若该变量未被声明,则打印空行;想打印"$array",需要在$面前加转义

[root@node1 ~]# echo $array

[root@node1 ~]# echo \\$array
$array

2.引用
引用指的是将字符串用某种符号括起来,以防止特殊字符被解析成其他意思。shell中总共有四种引用,分别是单引号,双引号,反引号和转义符。

  • 双引号又叫部分引号或者弱引用,可以引用除$符,反引号,转义符之外的所有字符;

  • 单引号为全引用或强引用,可以引用所有字符

  • 反引号则会将引用起来的内容解释为系统命令

1.部分引用

部分引用指的是双引号括起来的引用,在这种引用方式中,$符,反引号,转义符依然会被解释为特殊意义。例如:输出变量的值

[root@node1 ~]# array=10
[root@node1 ~]# echo "$array"
10
[root@node1 ~]# echo $array
10

2.全引用

全引用指的是单引号括起来的引用。括起来的所有字符都只是当做普通字符。例如:

[root@node1 ~]# array=10
[root@node1 ~]# echo '$array'
$array

若全引用里面还包括单引号,则会出现问题,因为shell不知道哪个单引号是引用的结束符。例如:

[root@node1 ~]# echo 'It's a dag'
> 

想要解决有两种方式:

[root@node1 ~]# echo "It's a dag"
It's a dag
[root@node1 ~]# echo 'It'\\''s a dag'
It's a dag

以上是关于Windows中的Shell编程 Shell指的是啥意思?的主要内容,如果未能解决你的问题,请参考以下文章

shell编程之变量

Bash shell 特点总结

SHELL脚本基础命令知识(编程规范与变量)

shell编程之转义与引用

什么是Linux的登录shell与非登录shell?

什么是shell命令?windows系统也有shell命令吗?