#  有意义的“#”符合
  echo ${PATH#*:} # 参数替换,不是一个注释
  echo $(( 2#101011 )) # 进制转换,可以是任意进制,不是一个注释

“.”   .字符匹配,这是作为正则表达是的一部分,用来匹配任何的单个字符.
  【例】bash$ cp /home/bozo/current_work/junk/* .

,   逗号链接了一系列的算术操作,虽然里边所有的内容都被运行了,但只有最后一项被返回.
  【例】let "t2 = ((a = 9, 15 / 3))" # 设制变量 "a = 9" 和 "t2 = 15 / 3"

\   转义字符,如\X 等价于"X"或'X'.
/   文件名路径分隔符.或用来做除法操作.

:   空命令,等价于"NOP"(no op,一个什么也不干的命令).也可以被认为与shell 的内建命令(true)作用相同.
    ":"命令是一个 bash 的内建命令,它的返回值为0,就是shell 返回的true.

[root@localhost TeShuzifu]# cat Sixunhuan.sh
#!/bin/bash
#描述:
# 用":"写死循环
#作者:孤舟点点
#版本:1.0
#创建时间:-- ::
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
while :
do
date "+%Y%m%d-%H%M%S"
sleep
done
[root@localhost TeShuzifu]#
[root@localhost TeShuzifu]# cat Ifzhanweifu.sh
#!/bin/bash
#描述:
# 用if语句使用占位符":"。
#作者:孤舟点点
#版本:1.0
#创建时间:-- ::
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH if [ : ] ; #代表true
then : #什么都不做,引出分支。
date
sleep
fi
[root@localhost TeShuzifu]#

  也可能用来作为注释行,虽然我们不推荐这么做.使用#来注释的话,将关闭剩余行的错误检查,所以可以在注释行中写任何东西.然而,使用:的话将不会这样.如:

  1 : This is a comment thar generates an error,(if [ $x -eq 3] ).

  ":"还用来在/etc/passwd 和$PATH 变量中用来做分隔符.

[root@localhost TeShuzifu]# echo $PATH
/usr/lib/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
[root@localhost TeShuzifu]#

$?  退出状态变量.$?保存一个命令/一个函数或者脚本本身的退出状态.

$$   进程ID 变量.这个$$变量保存运行脚本进程ID

()   命令组.如:

 (a=hello;echo $a)
注意:在()中的命令列表,将作为一个子shell 来运行.
在()中的变量,由于是在子shell 中,所以对于脚本剩下的部分是不可用的.
如:
a=
( a=; ) echo "a = $a" # a =
# 在圆括号中a 变量,更像是一个局部变量.

用在数组初始化,如:
1 Array=(element1,element2,element3)
{xxx,yyy,zzz...}

大括号扩展,如:
1 cat {file1,file2,file3} > combined_file
2 # 把file1,file2,file3 连接在一起,并且重定向到combined_file 中.
3
4 cp file22.{txt,backup}
5 # 拷贝"file22.txt" 到"file22.backup"中

一个命令可能会对大括号中的以逗号分割的文件列表起作用[1]. file globbing 将对
大括号中的文件名作扩展.
注意: 在大括号中,不允许有空白,除非这个空白是有意义的.
echo {file1,file2}\ :{\ A," B",' C'}
file1 : A file1 : B file1 : C file2 : A file2 : B file2 : C

{}   代码块.又被称为内部组.事实上,这个结构创建了一个匿名的函数.但是与函数不同的是,在其中声明的变量,对于脚本其他部分的代码来说还是可见的.如:

bash $
{
local a;
a= ;
}
bash中的local 申请的变量只能够用在函数中.
a=
{ a=; }
echo "a = $a" # a = (说明在代码块中对变量a 所作的修改,影响了外边的变量a)

Shell的特殊字符的更多相关文章

  1. Shell中特殊字符的含义

    $0 这个程式的执行名字 $n 这个程式的第n个参数值,n=1..9 $* 这个程式的所有参数,此选项参数可超过9个. $# 这个程式的参数个数 $$ 这个程式的PID(脚本运行的当前进程ID号) $ ...

  2. Shell命令行中特殊字符与其转义详解(去除特殊含义)

    特殊符号及其转义 大家都知道在一个shell命令是由命令名和它的参数组成的, 比如 cat testfile, 其中cat是命令名, testfile是参数. shell将参数testfile传递给c ...

  3. Shell入门教程:算术运算

    Bash的算术运算有以下几种方法: 序号 名称 语法 范例 1 算术扩展 $((算术式)) r=$((2+5*8)) 2 使用外部程序 expr 算术式 r=`expr 4 + 5` 3 使用 $[] ...

  4. Linux之Shell的算术运算

    在Bash的算术运算中有以下几种方法:名称                语法                    范例算术扩展            $((算术式))              r ...

  5. Shell expr的用法 bc 命令 let命令

    Shell expr的用法  bc 命令   let命令 数学运算 let命令  expr命令  bc命令  $(())   $[] http://www.80ops.cn/archives/245. ...

  6. shell算术运算与进制运算

    (())与let是等效的 arithmetic expression type 与[是等效的 source与.是等效的 其实,Shell(这里是Bash)本身不具备处理浮点计算的能力,但是可以使用“b ...

  7. shell中的双引号,单引号,反引号

    在shell中引号分为三种:单引号,双引号和反引号. 单引号 ‘ 由单引号括起来的字符都作为普通字符出现.特殊字符用单引号括起来以后,也会失去原有意义,而只作为普通字符解释.单引号用于保持引号内所有字 ...

  8. (转)linux bash shell 入门教程

    Shell Script(bash)简介 众所皆知地,UNIX上以小工具著名,利用许多简单的小工具,来完成原本需要大量软体开发的工作,这一点特色,使得UNIX成为许多人心目中理想的系统平台. 在众多的 ...

  9. shell学习笔记

    shell学习笔记 .查看/etc/shells,看看有几个可用的Shell . 曾经用过的命令存在.bash_history中,但是~/.bash_history记录的是前一次登录前记录的所有指令, ...

随机推荐

  1. 基于redis实现锁控制

    多数据源 数据源1为锁控制,数据源2自定义,可用于存储. 锁:当出现并发的时候为了保证数据的一致性,不会出现并发问题,假设,用户1修改一条信息,用户2也同时修改,会按照顺序覆盖自修改的值,为了避免这种

  2. JavaSE--[转]加密和签名的区别

    转载 http://blog.csdn.net/u012467492/article/details/52034835 私钥用来签名的,公钥用来验签的.公钥加密私钥解密是秘送,私钥加密公钥解密是签名 ...

  3. 主流消息队列rocketMq,rabbitMq比对使用

    首先整理这个文章是因为我正好有机会实战了一下rocketmq,阿里巴巴的一个开源消息中间件.所以就与以往中rabbitmq进行小小的比较一下.这里主线的根据常见面试问题进行整理. 一.消息队列常用的场 ...

  4. JKFZ%你赛炸裂祭

    Md爆40了身败名裂 上来就刚T1是什么习惯?居然不看T2导致明明能刚出正解却止步40 , T3找到原题看懂题解后却不敢交+难码 , 最近怕不是做毒瘤%你赛多了总以为T1能刚到点分 md最近怕不是炸了 ...

  5. 远程调用shell脚本文件和远程复制文件

    1.安装sshpass yum install sshpass 2.本地调用远程服务器的shell脚本文件: sshpass -p sa ssh root@192.168.56.105 -C &quo ...

  6. vue-resource HTTP API基础

    vue-resource特点 vue-resource插件具有以下特点: 1. 体积小 vue-resource非常小巧,在压缩以后只有大约12KB,服务端启用gzip压缩后只有4.5KB大小,这远比 ...

  7. Java常见异常说明汇总

    1. java.lang.nullpointerexception 这个异常大家肯定都经常遇到,异常的解释是"程序遇上了空指针",简单地说就是调用了未经初始化的对象或者是不存在的对 ...

  8. 吴裕雄--天生自然 pythonTensorFlow自然语言处理:Attention模型--训练

    import tensorflow as tf # 1.参数设置. # 假设输入数据已经转换成了单词编号的格式. SRC_TRAIN_DATA = "F:\\TensorFlowGoogle ...

  9. jQuery方法及使用

    jQuery内容: 选择器 筛选器 样式操作 文本操作 属性操作 文档处理 事件 动画效果 插件 each.data.Ajax 剩余未写的有: 1.表单筛选器: :text :password :fi ...

  10. Linux从一台linux机器复制文件到另一台linux机器

    1.功能说明 scp 用于将文件/目录从一台linux系统复制到另一台linux系统.传输协议为SSH协议,保证了传输数据的安全性 其格式如下: (1)scp  本地linux系统文件路径   远程用 ...