shell脚本中的特殊符号

# 井号 (comments)

(1) 在第一行

#!/bin/bash 自己申明解释器 #!/bin/python表示 python的解释器(一般有了这句话,没有指定解释器的话,会按照这句话定义的解释器进行执行)

一般通过这个句话,说明执行文件的时候按照要求的解释器进行执行

(2)作为注释

# This line is comments.

~ 登录帐户的 home 目录

~代表使用者的 home 目录:cd ~/,【也就是终端一打开最开始的路径,对于我的电脑来说是/home/uisee】;

注意:最好把/加上,如果没有添加/,会出现cd ~uisee 认为cd ~ 路径是 /home

~+ 当前的工作目录,这个符号代表当前的工作目录,她和内建指令 pwd的作用是相同的。

例如在目录/home/uisee/anaconda3 下面

bash: /home/uisee/anaconda3: Is a directory

~+ 当前的工作目录,这个符号代表当前的工作目录,她和内建指令 pwd的作用是相同的。

echo ~+  #得到当前的工作目录

~- 上次的工作目录,这个符号代表上次的工作目录。

echo ~- #得到上次的工作目录

; 分号 (Command separator)

在 shell 中,担任"连续指令"功能的符号就是"分号"。譬如以下的例子:

cd ~/backup ; mkdir startup ;cp ~/.* startup/.

;; 连续分号 (Terminator)

专用在 case 的选项,担任 Terminator 的角色。

. 逗号 (dot,就是“点”)

在 shell 中,使用者应该都清楚,一个 dot 代表当前目录,两个 dot 代表上层目录。

‘string’ 单引号 (single quote)

被单引号用括住的内容,将被视为单一字串。在引号内的代表变数的$符号,没有作用,也就是说,他被视为一般符号处理,防止任何变量替换。

$ 钱号(dollar sign)

变量替换(Variable Substitution)的代表符号。

vrs=123
echo "vrs = $vrs"  # 输出vrs = 123

另外,在 Regular Expressions 里被定义为 “行” 的最末端 (end-of-line)。这个常用在grep、sed、awk 以及 vim(vi) 当中。

注意在使用=号的时候是不能够添加空格的

$#

这是与引用变量相关的符号,主要作用是告诉你,引用变量的总数量是多少。比如sh ./*.sh 1 2 3 输出3,一共是3个变量

if [ $# -eq 5 ]; then

其中:

-eq 等于
-ne 不等于
-gt 大于
-lt 小于
-ge 大于等于
-le 小于等于

$?

功能描述:用于判断上一条命令执行的返回状态,如果这个变量的值为0,证明上一个命令正确执行,如果非0(具体是什么数字,需要自己进行指定),证明上一条命令没有执行成功。

$ + 数字

在 shell 中,会常见 $0、$1、$2,这样的符号,这是什么意思呢?

简单来说 $0 就是你写的shell脚本本身的名字,$1 是你给你写的shell脚本传的第一个参数,$2 是你给你写的shell脚本传的第二个参数,以此类推

$+`` 反引号 相当于 $()

命令行替换

例如:可以设变量a=ls

a=`ls` #变量a 就是直接在终端输入ls的返回值
currentDir=$(pwd) #这里就得到了当前路径

$* $@

其中$* 和 $@的作用基本上相同,只有在加上引号“$*”的时候,

$*:认为所有参数是一个整体

$@:认为每个参数是相互独立的

! + 数字

执行history中的历史命令

!+string

比如: !da 找到上一个命令最后一个以da开头的参数

得到目录下面文件夹的数量

ls -l | grep "^d" | wc -l

在shell中,如果需要将一条命令的结果返回给一个变量采用:

name=$(ls) #此时name就是直接在终端中按下ls的返回值

shell脚本——特殊符号相关推荐

  1. linux 脚本 符号,Shell脚本 入门 —— 符号篇

    shell变量 shell变量不需要进行任何声明,直接定义即可,因为shell变量的值实际上都是字符串(对于没有定义的变量默认是一个空串).定义的时候shell变量由大写字母加下划线组成,并且定义的时 ...

  2. shell脚本【符号6】“!”重复执行先前命令/非/内部变量

    这一篇博客会介绍"!"符号在不同情境下的使用 1.重复执行先前命令 2.逻辑非 3.作为shell内部变量 4.变量的间接引用 一.重复执行先前命令: ! 在bash中,为了重复执 ...

  3. linux脚本第一行是什么,完全搞懂shell脚本第一行:#!/bin/bash的含义

    转自:https://blog.csdn.net/Doris0214/article/details/91453113 shell脚本的第一行一般会写有以下字样: #!/bin/bash 或者 #!/ ...

  4. shell脚本详解(一)——初学shell脚本必看哦

    shell脚本详解 一.Shell脚本概述 1.1.shell脚本的概念 1.2.shell脚本应用场景 1.3.shell脚本能干什么 1.4. shell的作用--命令翻译器,"翻译官& ...

  5. shell脚本中常见的一些特殊符号和作用详解

    在编写Shell脚本时,我们需要会用到各种各样的特殊符号,通过这些特殊符号可以使我们编写的代码更加简洁和高效,这里给大家汇总下: 1.{} 大括号: 用法一:通配符扩展eg: ls my_{finge ...

  6. shell脚本中一些特殊符号

    shell脚本中一些特殊符号 在shell中常用的特殊符号罗列如下: # ;   ;; . , / \\ 'string'| !   $   ${}   $? $$   $* \"strin ...

  7. shell脚本中判断大于、小于、等于、不等于的符号

    shell脚本中判断大于.小于.等于.不等于的符号 在shell中有时候会用到对数字进行判断的场景,尤其在写脚本判断参数的时候,以下有几个命令需要记住 大于 -gt (greater than) 小于 ...

  8. shell 脚本程序中空格 $符号的使用

    对于很多新学shell脚本程序的人来书说,空格跟$符号的使用一直让人迷迷糊糊,下面我来说说有关于它们的使用情况. 1.定义变量时, =号的两边不可以留空格. eg: gender=femal----r ...

  9. shell脚本中的一些符号

    在shell中常用的特殊符号罗列如下: # ;   ;; . , / \\ 'string'| !   $   ${}   $? $$   $* \"string\"* **   ...

最新文章

  1. C/C++动态二维数组的内存分配和释放
  2. mysql按中文拼音字母排序_解析MySQL按常规排序、自定义排序和按中文拼音字母排序的方法...
  3. 演练 开心餐厅 0929
  4. 大学平均绩点计算器_申请韩国名校绩点是不是万能的?
  5. 来自一个用户的体验-Alpha项目测试
  6. python使用lxml解析html获取页面内所有叶子节点的xpath路径
  7. MySQL设置mysqld_MySQL指定mysqld启动时所加载的配置文件
  8. MySQL MYISAM引擎表锁和行锁详解
  9. thinkphp集成editormd一系列实战
  10. C语言数字图像处理---1.3 图像直方图
  11. java 手机推荐_Java一样也智能 中低端手机上网助手推荐
  12. C#编程学习27: C#操作Excel从入门到精通
  13. 2020 博客之星评选【票数排行榜】每日更新
  14. 说明文中国第一台亮子计算机揭秘,2018届九年级语文中考复习(河南)课件:第2部分 第二讲 说明文阅读 2017名题强化训练.ppt...
  15. Linux学习笔记(1)--Linux的发展史
  16. python实现multi函数参数个数不限、返回所有参数乘积_实现multi( )函数,参数个数不限,返回所有参数的乘积。_学小易找答案...
  17. 关于液晶刷新速度优化方法
  18. java中循环里使用throw new抛出异常问题
  19. h5是html语言吗,H5和HTML5是一样的吗
  20. multisim 高低电平点亮灯证明

热门文章

  1. 基于JAVA小微企业人事管理系统计算机毕业设计源码+数据库+lw文档+系统+部署
  2. 各个框架原理总结归纳
  3. 东方通 -- 如何安装、启动、停止、卸载东方通中间件
  4. 搜索功能这样设计,大家都说我有点东西
  5. 小程序获取上一个页面或者某个页面内的值
  6. Altas 200 DK环境配置
  7. 产品设计杂谈--微信篇
  8. 关于move_uploaded_file()出错的问题
  9. 色调映射:Edge-Preserving Decompositions for Multi-Scale Tone and Detail Manipulation
  10. 关于在win8下面安装虚拟机出现的一些问题