`
fionajw
  • 浏览: 22956 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

Shell 学习笔记(二)变量 参数 引用

    博客分类:
  • Bash
阅读更多

          

2、字符串替换

      b=${a/23/BB}        #a=234523     b=BB4523

 

3、位置参数

      basename $0      去掉脚本名称的路径名

      [ -n "$1" ]  true:参数存在

      $#: 参数个数

      $*:  单个单元,必须加引号

      $@:每个参数作为一个单元

      set -- "First one" "second" "third:one"  :设置位置参数
     

      args=$#           # 传给脚本的参数个数.
      lastarg=${!args}

 

4、环境变量分隔符

     5、双引号 单引号

      使用双引号除了变量名前缀($)、后引符(`)和转义符(\)外,其余均只解释为字面

 

      在单引号内,除了字符',每个特殊字符都只是字面的意思。单引号(全局引用)比双引号(部分引用)更严格的处理引用部分。

      若想打印 ‘号: echo \'

                              echo 'can' \' 't'         #can ' t

                              echo 'can'\''t'           #can't

 

6、感叹号表历史命令

      在命令行上,把感叹号"!"放在双引号里执行命令会出错(译者注:比如说:echo "hello!"). 因为感叹号被解释成了一个历史命令. 然而在一个脚本文件里,这么写则是正确的,因为在脚本文件里Bash的历史机制被禁用了。

 

7、转义

      \v  :   垂直制表符

      \a  :   蜂鸣声(禁止操作声音)

 

     echo -e “\n”            ==         echo $'\n'

     $'\xxx'  : 转义字符取值     e.g. ABC=$'\101\102\103\010\t'

    

     出乎意料:

     echo \z                     #  z
     echo "\z"                  # \z    
     echo `echo \\z`       # z      

     echo `echo \\\z`      # \z     未转义过的还可加\转义,已转义过的之前\只能输出字面啦

     echo `echo "\z"`      # \z     双引号一加,就绝对化啦
     

     转义\的赋值

     variable=\
     23skidoo
     echo "$variable"        #  23skidoo   这样就能工作,因为\将其后的换行符转义了哦

   

8、EOF

     可随意换行,便于写SQL

     cat <<EOF              
     \\z                     
     EOF

8、内部变量

       $IFS:分隔符,决定Bash在解释字符串时如何识别域, 或者单词边界. 默认为空白(空格, 制表符,和换行符)

       e.g.         output_args(){
                               for arg
                               do echo "$arg _"
                               done
                      }

                      IFS=":,"
                      var="a:b::c"
                      output_args $var         #a _b _ _c _
                      output_args a:b::c       #不行,把此当作一个参数      a:b::c _

                      

       e.g.         IFS='\'
                      var=="'(]\\{}\$\""
                      echo $var         # '(] {}$"     \字符被空白符替换了,为什么?
                      echo "$var"      # '(]\{}$"

     

       $PWD:工作目录(你当前所在的目录)

    $SECONDS :这个脚本已经运行的时间(以秒为单位)

 

分享到:
评论

相关推荐

    Shell学习笔记

    本文档《Shell学习笔记》详细介绍了Shell脚本编写的基础知识和一些高级技巧,包含了多个主题,例如终端操作、环境变量使用、数学运算、文件描述符、数组和关联数组、别名使用、终端信息获取、日期和时间处理、脚本...

    linux运维学习笔记:Shell变量.pdf

    Linux Shell变量知识点: 1. 变量概念: 在Linux Shell编程中,变量是存储数据的基本单元。变量可以看作是一个容器,用于临时存储字符串、数字等数据类型,包括但不限于路径、命令结果等。变量通过赋值操作符“=”...

    shell编程学习笔记

    变量: 变量的赋值和引用 在shell编程中变量没有类型,简称弱类型编程语言,不需要声明,在引用这个变量时会创建它(在变量名前加$符号引用变量的值)。在定义变量时,若String中包含空格、制表符、换行符,需用单...

    Shell学习笔记总结

    本资源是 Shell 学习笔记的总结,涵盖了 Shell 的基本概念、类型、变量、进程、权限、管道、POSIX、grep、sed、awk 等命令和编程语言。 一、 Shell 的类型和特点 Shell 是一种命令行界面,提供了访问操作系统的...

    shell学习笔记(自理版)

    shell学习笔记的主要内容是 shell 变量、环境变量、条件判断语句、循环语句等。下面对这些知识点进行详细的解释。 一、shell 变量 shell 变量可以分为系统变量和环境变量。系统变量主要用于对参数判断和命令...

    shell script编程学习笔记

    ### Shell Script 编程学习笔记 #### 一、Shell 脚本初窥 ##### 示例: ```bash #!/bin/sh # 第1行:指定脚本解释器(声明使用的shell名称),这里是用/bin/sh做解释器的。“#!”是一个约定的标记 cd ~ # 第2行:...

    Shell脚本学习笔记

    自己整理的Shell脚本学习笔记,脚本实例可直接运行:1. 变量和字符串;2. 传递参数;3. 基本运算符;4. echo&printf;&test;;5. 流程控制;6. 函数;7. 输入输出重定向&文件嵌入

    shell学习笔记.docx

    ### Shell学习笔记知识点详解 #### 一、变量定义与引用 **定义变量注意事项:** - **定义格式**:在Shell脚本中定义变量时,变量名与等号(`=`)之间不能有空格。 - 正确示例:`var1=value` - 错误示例:`var1 ...

    shell学习笔记-2018-01-09

    ### Shell学习笔记 #### Shell的发展与分类 Shell作为Unix及类Unix系统(包括Linux)的主要用户界面之一,其历史可以追溯到20世纪70年代。最初,Shell仅仅作为一个简单的命令解释器,随着时间的推移,它发展成为了...

    Shell 学习笔记 word ppt

    Shell学习笔记主要关注的是Linux或Unix系统中的命令行界面(CLI)交互,特别是Shell脚本编程。Shell是一种命令解释器,允许用户通过命令行输入来执行操作系统任务,同时,它也是一种编程语言,可以编写自动化脚本来...

    bash shell学习笔记

    三、处理用户的输入:命令行参数、特殊参数变量、移动变量、获取用户输入 四、呈现数据:在脚本中重定向输入与输出、创建自己的重定向、阻止输出、创建临时文件、记录消息 五、控制脚本:处理信号、后台运行脚本、非...

    linux shell个人学习笔记,绝对极品

    这个个人学习笔记集合了作者在深入理解Linux Shell过程中的经验与精华,旨在帮助读者更好地掌握这一强大的命令行工具。 首先,让我们了解一下Shell的基础知识。在Linux中,Shell是一个命令解释器,它接收用户的输入...

    shell脚本编程学习笔记汇总

    本文档总结了 Linux shell 脚本编程的学习笔记,涵盖了 shell 脚本的定义、编写、权限、存放位置、函数、变量、IF 控制语句、命令退出状态等知识点。 一、shell脚本的定义 shell 脚本是一个包含一系列命令的文件,...

    shell学习笔记(常用shell命令介绍和用例)

    ### Shell学习笔记(常用Shell命令介绍与用例) #### 一、引言 Shell作为Linux和Unix操作系统的重要组成部分,提供了一种与系统交互的方式。本文档旨在为初学者和有一定经验的用户提供一份全面的Shell命令学习笔记...

Global site tag (gtag.js) - Google Analytics