在shell中常用的特殊符号罗列如下:

$ ${} $? $$ $*

$# $@ command{} [] [[]] () (())

  • ; 分号 (Command separator)

    在 shell 中,;主要用来在一行中运行一条或者多条指令。

  • ;; 连续分号 (Terminator)
    专用在 case 的选项,担任 Terminator 的角色。
    case “$fop” inhelp) echo “Usage: Command -help -version filename”;;version) echo “version 0.1” ;;esac

  • ‘string’ 单引号 (single quote) “string” 双引号 (double quote)
    被单引号用括住的内容,将被视为单一字串。在引号内的代表变数的$符号,没有作用,也就是说,他被视为一般符号处理,防止任何变量替换。 被双引号用括住的内容,将被视为单一字串。它防止通配符扩展,但允许变量扩展。这点与单引数的处理方式不同。

[root@localhost ~]# vartest=1234
[root@localhost ~]# echo '$vartest is good'
$vartest is good
[root@localhost ~]# echo $vartest
1234
[root@localhost ~]# echo "$vartest is good"
1234 is good
  • command 倒引号 (backticks) 用倒单引号来执行指令。
[root@localhost ~]# fdv=`ls`
[root@localhost ~]# echo $fdv
anaconda-ks.cfg Desktop Documents Downloads initial-setup-ks.cfg Music original-ks.cfg Pictures Public Templates Video
  • | 管道 (pipeline)

pipeline 是 UNIX 系统,基础且重要的观念。连结上个指令的标准输出,做为下个指令的标准输入。

[root@localhost ~]# who |wc -l
5
  • $相关指令

$ (dollar sign)
变量替换(Variable Substitution)的代表符号。
$*:引用script的执行引用变量,引用参数的算法与一般指令相同,指令本身为0,其后为1,然后依此类推。
$@ 与 $* 具有相同作用的符号,不过她们两者有一个不同点。
符号 $* 将所有的引用变量视为一个整体。但符号 $@ 则仍旧保留每个引用变量的区段观念。
$# :这也是与引用变量相关的符号,她的作用是告诉你,引用变量的总数量是多少。
$? :状态值 (status variable)
一般来说,UNIX(linux) 系统的进程以执行系统调用exit()来结束的。这个回传值就是status值。回传给父进程,用来检查子进程的执行状态。 一般指令程序倘若执行成功,其回传值为 0;失败为 1。

  • 小括号()
    ①命令组。括号中的命令新开一个子shell程序,括号中的变量为本地变量 ,不能够在脚本其他部分使用。括号中多个命令之间用分号隔开。
    ②命令替换。命令替换$(cmd)等同于cmd(这不是单引号,`是ESC下面的那个键) ,shell执行过程中发现了$(cmd)结构,便将$(cmd)中的cmd执行一次,得到其输出,再将此输出放到原来命令。例如:
[root@localhost tmp]# ls
fstab  functions  hellobash  issue  mytestdir  scripts
[root@localhost tmp]# echo $(ls)
fstab functions hellobash issue mytestdir scripts
[root@localhost tmp]# echo `ls`
fstab functions hellobash issue mytestdir scripts
[root@localhost tmp]#
  • { } 大括号 (Block of code)

①拓展。对大括号中的文件名做扩展。在大括号中,不允许有空白,除非这个空白被引用或转义。拓展分为普通以逗号(,)进行拓展,如echo {a,b}.txt将间隔的各项内容均列出;已两个点(…)进行拓展,如echo {1…5}.txt自动补全1到5中间内容。

[root@localhost ~]# echo {a,b}.txt
a.txt b.txt
[root@localhost ~]# echo {1..5}.txt
1.txt 2.txt 3.txt 4.txt 5.txt
[root@localhost ~]#

②内部组 。与小括号中的命令不同,大括号内的命令在当前shell运行,不会重新开子shell。括号内的命令间用分号隔开,最后一个命令后必须跟分号。{}的第一个命令和左括号之间必须要有一个空格。

  • [ ] 中括号

常出现在流程控制中,扮演括住判断式的作用。
[[ ]]
这组符号与先前的 [] 符号,基本上作用相同,但她允许在其中直接使用 || 与&& 逻辑等符号。

#!/bin/bash
read ak
if [[ $ak > 5 || $ak< 9 ]]
then
echo $ak
fi
  • & 后台工作

单一个& 符号,且放在完整指令列的最后端,即表示将该指令列放入后台中工作。
tar cvfz data.tar.gz data > /dev/null&

linux常用特殊符号相关推荐

  1. linux常用特殊符号大全

    #   ;   ;;      .      ,       /       \       'string'|       !   $   ${}   $?      $$   $*  " ...

  2. Linux常用命令(echo、date、ls、cd、history、cat)

    一.linux常用命令有很多今天我们来总结一下常用的入门命令: 1.linux下关机命令:poweroff.init 0.halt.shutdown -h now 2.linux下重启命令:reboo ...

  3. Linux 常用命令笔记

    Linux 常用命令笔记 1. locate locate:用来定位文件的位置,如:locate a.txt 但是这个命令有延迟,也就是新建的文件不一定能搜索到,如果非要找到新建的文件可以使用 upd ...

  4. linux常用的内核镜像格式

    linux常用的内核镜像格式 Linux内核有多种格式的镜像,包括vmlinux.Image.zImage等. 1.     Linux内核镜像格式 1.1 vmlinux vmlinuz是可引导的. ...

  5. 鸟哥的Linux私房菜(服务器)- 第五章、 Linux 常用网络指令

    第五章. Linux 常用网络指令 最近更新日期:2011/07/18 Linux 的网络功能相当的强悍,一时之间我们也无法完全的介绍所有的网络指令,这个章节主要的目的在介绍一些常见的网络指令而已. ...

  6. 八、Linux 常用 Shell 命令,控制台的快捷键以及 Shell 编程(中)

    @Author : Runsen @Date:2020/9/11 文章是Runsen在Gitchat付费文章分享:Linux 常用 Shell 命令,控制台的快捷键以及 Shell 编程 顺便同步到C ...

  7. linux 复制包括子目录_【Linux分享】Linux常用命令+教程分享

    今天分享分为两部分 :)PART01 Linux常用命令分享/PART02 关于BD面试经验分享    30mins  Linux Command:PART 1 你本可以张口就来.....本篇内容分享 ...

  8. 史上最全的Linux常用命令汇总①收藏这一篇就够了!(超全,超详细)

    史上最全的Linux常用命令汇总①(超全面!超详细!)收藏这一篇就够了! Linux命令基础 Shell Linux命令分类 Linux命令行的格式 编辑Linux命令行的辅助操作 获取命令帮助的方法 ...

  9. Linux常用运维命令笔记

    今天给大家整理一下Linux常用的命令,希望对大家能有所帮助! MYSQL相关 1.查看mysql版本 status; select version() 2. mysql启动命令 #01 使用 ser ...

最新文章

  1. 为什么数学的用途这么大?
  2. CentOS 7 网页加载速度慢的解决办法
  3. Docker部署文档
  4. 量子计算机计算时间复杂度,量子计算复杂性理论综述.PDF
  5. Java_注解 反射 字节码 类加载机制
  6. 雷死人不偿命-----六年级小学生的字条
  7. 一种非常实用的系统掉电检测和保护电路---摘自:周立功单片机
  8. python字符串添加_python字符串的增删改查
  9. mongodb msi安装包_跟我快速学数据存储:MongoDB非关系型数据库
  10. ANSIBLE--handlers的概念
  11. shell脚本之函数篇
  12. Java基础之写文件——在通道写入过程中的缓冲区状态(BufferStateTrace)
  13. RK3288_Android7.1调试RTC总结(一)
  14. 分布式配置管理平台VS统一集中配置管理
  15. java华氏度xhuan_华氏摄氏转换
  16. 新东方托福词汇(List 01 ~ List 05)
  17. java audio 分帧_语音特征参数MFCC提取过程详解
  18. H.264 AVCC header
  19. python查看手机上wifi密码_忘了wifi密码怎么办?用Python查!
  20. 关于外国人报考美国专利代理人的基础介绍

热门文章

  1. 备忘(持续更新。。。)
  2. Hive中生成随机唯一标识ID的方法
  3. jfinal poi
  4. java 的23种设计模式 之单身狗和隔壁老王的故事
  5. win7安装python
  6. 快速配置 Samba 将 Linux 目录映射为 Windows 驱动器
  7. 三大数据库数据库端口号及连接jdbc驱动下载
  8. java bean spring_JavaBean和Spring bean傻傻分不清楚
  9. mysql binlog 统计_对MySQL binlog日志解析,统计每张表的DML次数
  10. 物理借助传感器用计算机测速度,用打点计时器测速度教案_物理_教学设计_人教版...