-
博文分类专栏
- Jquery基础教程
-
- 文章:(15)篇
- 阅读:46583
- shell命令
-
- 文章:(42)篇
- 阅读:154300
- Git教程
-
- 文章:(36)篇
- 阅读:234923
- leetCode刷题
-
- 文章:(76)篇
- 阅读:131947
-
shell中都有哪些特殊字符#,$2018-04-24 15:44 阅读(5032) 评论(0)
一、简介
在编写shell过程中,经常会跟的特殊字符打交道 ,比如;; . , / \\ 'string'| ! $ ${} $? $$ $* # () [[]] ? > <;等等。有必要汇总一下这些特殊字符都代表什么意思
1、“# ”井号的使用
(1)在shell首行,指定当前脚本使用什么解释器来执行,如#!/bin/bash,可以参考“shell脚本中第一行#!/bin/bash作用是什么的呢”
(2)作为注释
(3)$# 代表参数的个数
2、“;”分号的使用
1、连续运行多条命令
比如,查看我当前登录的用户,以及所在目录,命令如下:
whoami; pwd
3、“&”的使用
将命令放在后台执行,比如:
/usr/local/php/sbin/php-fpm &
4、“&&”的使用
设置命令运行条件,当前面的命令返回值为0的时候,当前命令才会执行,如下:
eco "hello" && echo "world"
前面一个命令执行后,返回的状态码不为0,后面一个命令,就不会执行。
5、“||”的使用
设置命令运行条件,当前面的命令返回值为0的时候,当前命令不会执行;当前面的命令返回值不为0的时候,当前命令才会执行。
6、“$(#变量名)”的使用
获取变量的长度,如下:
[root@localhost:~]$ website="www.findme.wang" [root@localhost:~]$ echo $website www.findme.wang [root@localhost:~]$ echo ${#website} 15
7、“$(#变量名[@])”的使用
代表数组的个数,如下:
[root@localhost:~]$ website=(www findme wang) [root@localhost:~]$ echo ${#website[@]} 3
8、“$”美元符号的使用
(1)获取变量的值
比如:
echo $website
(2)正则表达式中代表行尾
9、“>”和“>>”单双大于号的使用
> 覆盖式输出重定向
>> 追加式输出重定向
10、“<”和“<<”单双小于号的使用
> 覆盖式输入重定向
>> 追加式输入重定向
11、“''或""”单引号或双引号的使用
解决变量赋值空格的问题,如下:
注意:单引号中的变量将不会被解析,如下:
12、“()”单圆括号的使用
(1)定义一个数组
比如:
website=(www findme wang)
13、“(())”双圆括号的使用
(1)算术运算
echo $((10-3)) //7
(2)整数比较大小
if ((10>3)) then echo "10 > 3" fi
14、“[]”单方括号的使用
(1)数组中的下标括号
[17:58:01] dequan:~ $ website=(www findme wang) [17:58:07] dequan:~ $ echo $website www findme wang [17:58:09] dequan:~ $ echo ${website[1]} www
(2)条件表达式
比如,判断某个文件是否存在
if [ -e file1 ] then echo "文件存在" fi
15“[]”双方括号的使用
字符串比较
16“{}”大括号的使用
正则表达式中使用
比如 find{A,B,C}, 则匹配findA、findB、findC
17“``”反引号的使用
用于获取命令执行的结果,比如:var=`ps -ef | grep aaa`
18“$()”的使用
$()也是获取命令执行的结果,比如var=$(ps -ef | grep aaa)