`

Shell Variable and Operator

阅读更多
  • 变量是放在内存中的一定的存储单元,存储单元中存放着某个值,这个值可以改变.
  • 本地变量
  •    .本地变量在用户现在的SHELL生命期的脚本中使用.
       .variable-name=value
       .set 显示本地所有变量
       .readonly variable-name 设置变量为只读
  • 环境变量
  •    .环境变量用于所有用户进程(经常称为子进程).登录进程称为父进程.SHELL中执行的
        用户进程均称为子进程.不象本地变量(只用于现在的SHELL),环境变量可用于所有子
        进程,包括编辑器,脚本和应用.
      .$HOME/.bash_profile(/etc/profile) 设置环境变量的文件
      .export  设置环境变量命令
      .env 显示环境变量
  • 显示变量
  •    .echo $variable-name
       .${variable-name:+value} 如果设置了该变量,则显示其值,否则为空.
       .${variable-name:?value} 如果未设置该变量,显示用户定义的信息value.
       .${variable-name:-value} 如果未设置该变量,则显示value
       .${variable-name:=value} 如果未设置该变量,设置其值,并显示.
  • 位置变量
  •    .位置变量表示S0,$1,... ... $9
       .在脚本中使用位置参数
         招待脚本时 ./Parameter Test parm1 parm2 parm3
        #!/bin/bash
        #Parameter Test
        echo "This is the name of the script:$0."
        echo "This is the 1st position parameter: $1."
        echo "This is the 2nd position parameter: $2."
        echo "This is the 3rd position parameter: $3."
        echo "This is the 4th position parameter: $4."
        echo "This is the 5th position parameter: $5."
        echo "This is the 6th position parameter: $6."
        echo "This is the 7th position parameter: $7."
        echo "This is the 8th position parameter: $8."
        echo "This is the 9th position parameter: $9."
       .向系统命令传递参数
        ./find.sh CNURevamp
        #!/bin/bash
        #find.sh
        find /home/leo/svn/office/webapps -name $1 -print
  • 标准变量
  •    . bash 默认建立了一些标准环境变量,可在/etc/profile中定义.
       EXINIT HOME IFS LOGNAME MAIL MAILCHECK MAILPATH TERM
       PATH TZ PS1 PS2 EDITOR PWD SHELL MANPATH TERMINFO
  • 特殊变量
  •    .$# 传递到脚本的参数个数
       .$* 以一个单字符串显示所有向脚本传递的参数,与位置变量不同,
           此选项参数可超过9个
       .$$ 脚本运行的当前进程ID号
       .$! 后台运行的最后一个进程的ID号
       .$@ 显示参数列表
       .$- 显示SHELL 使用的当前选项,与set命令相同
       .$? 显示最后命令的退出状态,0表示没错,其它任何值表示有错误.
  • 影响变量的命令
  •    .unset variable-name 清除变量
       .declare
       -- 设置或显示变量
        -- -f 只显示函数名
       -- -r 创建只读变量(typeset
       -- -x 创建转出变量(export)
       -- -i 创建整数变量
       -- 使用+代替-,可以颠倒选项的含义
      .export
      -- 用于创建传给子SHELL的变量
      -- --表明选项结束,所有后续参数都是实参
      -- -f 表明在'名-值' 对中的名字是函数名.
      -- -n 把全局变量转换成局部变量.命令的变量不再传给SHELL.
      -- -p 显示全局变量列表
      .shift [n]
       -- 用于移动位置变量,调整位置变量,使$3的值给$2,$2的值给$1.
      .typeset declare的同义词.
  • 引号
  •   .双引号:可引用除字符$ ` \ 外的任意字符或者字符串
      .单引号:可引用任意字符或字符串
      .反引号:用于命令替换.设置系统命令的输出到变量.SHELL将反引号中的内容作为一个
              系统命令,并招行其内容.
      .反斜杠:如果一个字符有特殊含义,反斜线防止SHELL误解其含义,即屏蔽特殊含义.
             特殊含义字符:& * + ^ $ ` " | ?
  • 运算符
  •   . $[] 表示形式告诉SHELL对方括号中的表达式求值. 例: $[2+8]
        $[] 可以接受不同进制的数字 [10#n]表示从2到36的任何进制.
      . 赋值运算符 let cont=$cont + $change
分享到:
评论

相关推荐

    test_shell_zip_

    2. **basic_operator.sh** - 这个文件可能是关于Shell脚本中基本操作符的示例,如算术操作符(+,-,*,/,%),比较操作符(==,!=,<,>)和逻辑操作符(&&,||)。 3. **special_variable.sh** - Shell脚本中的...

    shell编程1

    ### Shell编程概述 #### Shell编程语言简介 Shell编程是一种基于Unix/Linux系统中的脚本语言,它主要用于自动化任务处理、系统管理以及其他与操作系统交互的工作。Shell脚本由一系列Shell命令组成,这些命令通常...

    linuxshell脚本学习笔记文.pdf

    进行数学计算时,Bourne Shell(sh)使用`expr`命令,例如`ARG1 operator ARG2`,但这种方式较为繁琐。Bash Shell提供了更简洁的语法,如`fish=$[1+5]`进行整数运算。对于浮点数计算,可以利用`bc`命令,例如`scale=...

    sympy-docs-pdf-1.0.pdf

    This includes issues related to equality checks, variable declarations, and symbolic expressions. ##### 2.4 Basic Operations SymPy supports basic operations such as addition, subtraction, ...

    python3.6.5参考手册 chm

    PEP 526: Syntax for variable annotations PEP 515: Underscores in Numeric Literals PEP 525: Asynchronous Generators PEP 530: Asynchronous Comprehensions PEP 487: Simpler customization of class ...

    linux特殊符号大全

    `$` 美元符号 (Variable Expansion) - **用途**:用于变量展开。 - **示例**: - `echo $USER`:打印当前用户名。 - `echo ${PATH}`:打印 PATH 变量的值。 ##### 9. `{}` 大括号 (Braces) - **用途**:用于...

    The Art of Assembly Language Programming

    Some Final Comments on the MOV Instructions <br>4.9 Laboratory ...SHELL.ASM File 4.9.4 Assembling Your Code with MASM 4.9.5 Debuggers and CodeView' 4.9.5.1 A Quick Look at CodeView 4.9....

    PowerShellPack

    About_shell_variable.help.txt About_signing.help.txt About_special_characters.help.txt About_switch.help.txt About_system_state.help.txt About_types.help.txt About_commonparameters.help.txt About_...

    python必备词汇.pdf

    * shell:DOS命令 ,壳 七、数据类型 * object:对象 * type:类型 * scalar:标量 (的) * represent:代表 * integer:整数 * int:整型 * float:浮点型 * const:常数( =constant) * expression:表达式 * ...

    学Python必备英语单词都在这儿了.docx

    * Variable:可变的、变量 * Value:值 * Assignment:赋值 * Bind:绑定 * Invoke:调用 * Binding:绑定关系 * Rebound:回跳、反弹 * Diagram:图解、关系图 * Transcript:抄本、脚本 * Compound:混合物、复合...

    Python Power - The Comprehensive Guide (2008).pdf

    Variable Usage ................................................................................................................34 The Continuation Variable ...............................................

    操作系统(内存管理)

    -- ask the operating system for more and return that. 6. Otherwise: A. Is the current space available (check is_available from the mem_control_block)? B. If it is: i) Is it large enough (check ...

    内存管理内存管理内存管理

    /* Okay, we're initialized and ready to go */ has_initialized = 1; } 现在,为了完全地管理内存,我们需要能够追踪要分配和回收哪些内存。在对内存块进行了 free 调用之后,我们需要做的是诸如将它们...

Global site tag (gtag.js) - Google Analytics