当前位置:  操作系统/服务器>linux

shell脚本中28个特殊字符的作用简明总结

    来源: 互联网  发布时间:2014-10-16

    本文导语:  1. #注释作用, #! 除外此外, 在参数替换 echo ${PATH#*:} 这里不表示注释, 数制转换, 不表示注释 echo $((2#101011)) 2. ; 命令行分隔符, 可以在一行中写多个命令. echo hello; echo there 3. ;; 终止 case 选项 代码如下:case “$variable” inabc) echo “$v...

1. #

注释作用, #! 除外
此外, 在参数替换 echo ${PATH#*:} 这里不表示注释, 数制转换, 不表示注释 echo $((2#101011))

2. ;

命令行分隔符, 可以在一行中写多个命令. echo hello; echo there

3. ;;

终止 case 选项

代码如下:

case “$variable” in
abc) echo “$variable = abc”;;
xyz) echo “$variable = xyz”;;
esac


4. .
隐藏文件前缀
.命令等价于source
. 表示当前目录 .. 表示上一级目录
正则表达式中作为单个字符匹配

5. “”, ‘'

双引号, 单引号, 其中双引号中可以引用变量, 而单引号中不行, 它们的作用是组织特殊字符

6.

转义字符

7. /

文件名分隔符, 除法操作
 

8. ` (Esc 下边的按钮)

后置引用, 命令替换

9. :

空命令, 等价于 “NOP”
也可被认为是 shell 内建命令 true 作用相同, 例如: 死循环

代码如下:

while :
do
  echo ”1”
done

等价于:
代码如下:

while true
do
  echo “1”
done

在 if/then 语句中做占位符:
代码如下:

if condition

then :  # 什么都不做, 引出分支

else

  do other thing

fi

在一个 2 元命令中提供一个占位符.

在和 >(重定向操作符)一起使用时, 清空文件, 并没有修改文件的权限, 例如: (如果文件不存在, 将会创建文件)

: > data.log 等同于

cat /dev/null > data.log


10. !

取反操作符 != 不等于

11. *

万能匹配符, 正则表达式中
数学乘法
** 幂运算

12. ?

测试操作
正则表达式中, ? 匹配任意单个字符

13. $

变量符号
正则表达式中 行结束符
${} 参数替换
$*,$@ 位置参数
$? 退出状态
$$ 进程ID

14. ()

命令组, (a=hello; echo $a), 在 () 中的命令列表将作为一个子 shell 来运行. 在() 中的变量, 由于在子shell中, 所以对于脚本剩下的部分是不可用的.
数组初始化: array=(element1, element2, element3)

15. {xxx,yyy,zzz}

大括号扩展
cat {file1,file2,file3} > combined_file, 将file1,file2,file3合并在一起并重定向到commbined_file中. 大括号中不能有空格

16. {}

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

代码如下:
# 代码块中的内容, 外部访问, I/O重定向

   1:  #!/bin/bash
   2:  
   3:  File=/etc/fstab
   4:  
   5:  # 在这个代码块中的变量, 外部也可以访问
   6:  {
   7:  read line1
   8:  read line2
   9:  } < $File
  10:  
  11:  echo "First line in $File is"
  12:  echo "$line1"
  13:  echo
  14:  echo "Second line in $File is"
  15:  echo "$line2"
  16:  
  17:  exit 0
# 将一个代码块的结果保存到文件


 

17. {};

路径名, 一般都是在 find 命令中使用, 注意; 用来结束find 命令序列的 –exec

18. []

test

数组元素, 例如 array[1]=abc
字符范围, 在正则表达式中使用

19. [[]]

test 表达式本身放在[] 里
 

20. (())

数学计算扩展

21. >& >>& >>

filename 重定向脚本的输出到文件中, 覆盖原有内容
command &> filename 重定向 stdout 和 stderr 到文件中
command >&2 重定向 stdout 和 stderr
scriptname >> filename 重定向脚本输出到文件中, 添加到文件尾端, 如果没有文件, 则创建这个文件.

22.


    
 
 

您可能感兴趣的文章:

  • shell脚本如何调用另外一个shell脚本的函数?
  • 急救!关于Shell脚本删除过期文件的问题,Shell脚本达人乱入
  • shell 脚本中命令别名在脚本外无法使用
  • 傻瓜问题,请问shell编程和shell脚本编程的关系
  • C语言调用shell脚本后,通过何种方法能获取脚本中变量的值
  • 想用shell脚本定时执行另一个脚本
  • 一个shell执行另一个带参数shell脚本????????????
  • 如何给shell脚本加密,脚本中有密码。最好是比较直接的,不要说让用 shc
  • Shell脚本调用Sql脚本并向其中传递变量
  • 请问,Shell中如何执行另外一个Shell脚本?
  • 如何传递参数给linux shell 脚本(当脚本从标准输入而不是从文件获取时)
  • nohup执行的shell脚本,全局变量不能传递到脚本中使用吗?
  • cd、zip等命令在shell提示符下能执行,在shell脚本中为什么不能执行呢?
  • shell脚本问题 关于父脚本和子脚本的问题
  • shell脚本错误输出
  • 请教shell脚本启动程序
  • 关于shell脚本的。
  • 关于arm linux下的别名配置脚本如何在进入用户时让shell执行的问题,如bashrc,profile,.bash_profile等脚本,寻求高手解答
  • 高分请教关于Shell脚本执行中断问题?
  • linux shell脚本
  • linux bash shell命令:文本搜索工具grep中用于egrep和 grep -E的元字符扩展集
  • 使用shell在文本文件中进行字符串搜索问题?shell高手请进,分不够可以再加
  • linux bash shell命令:文本搜索工具grep正则表达式元字符集(基本集)
  • shell程序:在大文件中查找特定字符串,但该字符串可以跨行
  • 如何用shell实现将指定文件中的指定的字符串替换为我指定的另外的字符串
  • shell如何取一个字符串中最右边的三个字符?
  • shell如何去掉字符串中的一些字符?
  • shell如何只替换字符串的第一个字符?
  • shell怎么搜索文件中指定字符串,然后将该字符串后面的数字输出
  • 急问bash shell中替换字符串中某字符为通配符的问题。
  • 问一个简单的shell问题:如何将一个文件中的字符串A全部用另外一个字符串B替换?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 在Shell中运行命令后加上一个 "&";有什么作用?
  • 请教一段shell语句的作用
  • shell里的>>和>的各自作用
  • linux shell自定义函数(定义、返回值、变量作用域)介绍
  • linux shell 自定义函数方法(定义、返回值、变量作用域)
  • shell脚本中常见的一些特殊符号和作用详解
  • Centos6下安装Shell下文件上传下载rz,sz命令
  • 不同类型的shell*(K SHELL , C SHELL) 用命令怎么切换?
  • linux bash shell命令:grep文本搜索工具简介
  • 我在执行shell时,想在shell里直接向mysql数据库插入数据,我该如何写shell。
  • Linux下指定运行时加载动态库路径及shell下执行程序默认路径
  • 菜鸟问问题:shell是什么呢?普通的ls、cp、pwd这些命令算不算shell呢?如何把自己写的文件变成shell呢?
  • linux bash shell命令:文本搜索工具Grep命令选项及实例
  • shell变量和子shell的问题请教
  • 请问“当前shell”和“子shell”的区别?
  • 怎么知道当前是B_SHELL 还是C_SHELL
  • 用户登陆后运行某SHELL退出SHELL就回到LOGIN是怎么作到的?
  • 怎么写shell代码 写好shell怎么运行?
  • 请问一个shell中如何获取这个shell自身抛出的错误?
  • 非登录shell是什么 意思,和登录shell有什么区别啊
  • Solaris 8中修改root的shell为一个非法的Shell后怎么办?
  • 各位Shell高人,如何取得Shell的第10个入口参数?$10不行啊,急!
  • shell 编程 执行shell新建多个终端 并执行程序
  • c/c++开源软件 iis7站长之家
  • 在shell中的交互问题,现在需要在shell结束时按某键或任意键
  • 请问什么是shell编程?一般都用shell编程实现什么?
  • 请教 一个shell问题 如何通过shell获得一个日志文件中的增量部分


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3