`
wx1569063608
  • 浏览: 23635 次
文章分类
社区版块
存档分类
最新评论

shell中的变量功能

 
阅读更多

本地变量

    set VARNAME=VALUE:作用域为整个bash进程

局部变量

    local VARNAME=VALUE:作用域为当前代码段

环境变量

    export VARNAME=VALUE

或者    VARNAME=VALUE                      export VARNAME

位置变量

$1   $2    ......

特殊变量

$? :上一条命令的执行状态返回值

程序执行,可能有两类返回值:1.程序执行结果,2程序状态返回代码(0-255),其中0是正确执行,1-255:错误执行,1,2,127系统预留。

常用的系统命令:

  1. 撤销变量:unset VARNAME

  2. 查看当前shell中的变量 :set查看所有变量(含环境变量和自定义变量)

  3. 查看当前shell的环境变量:printenv env export

变量的键盘读取和数组与声明:

read: -p 后面可接提示符

declare -[aixr]  variable

a:将后面名为 variable的变量定义为数组类型

i:将后面名为variable的变量定义为整数类型

x:将后面名为variable的变量定义为环境变量

r:将变量设置为readonly变量

 #!/bin/bash
###
##算奇数和偶数的和
VAR=100
EVEN=0
ODD=0
declare -i I=0
while [ $I -le $VAR ]
do
        if [ $(($I%2)) -eq 0 ];then
                EVEN=$(($EVEN+$I))
        else
                ODD=$(($ODD+$I))
        fi 
        I=$(($I+1))
done
echo "the odd number is : $ODD"
echo "the even number is : $EVEN"

由于在shell中,字符串比较容易处理,但是对于数值的计算确不太容易写。简单记一下

对于数值处理,直接用var=$((运算内容))

对于数组的取值${数组变量}

 下面是一个简单的编写图形的脚本:

#!/bin/bash
#绘制特殊图形
I=0
J=0
NUM=11
while [ $I -le $NUM ];
do
        if [ $I -lt $((NUM/2)) ];then
                TMP=$(($NUM/2))
                for (( t=0;t<$[$TMP-$I];t=t+1 ))
                do
                        echo -n " "
                done
                for (( k=0;k<$I;k=k+1 ))
                do
                        echo -n "* "
                done
                echo
        else
                for (( t=0;t<$[$I-$TMP];t=t+1 ))
                do
                        echo -n " "
                done
                for (( k=0;k<$[2*$TMP-$I];k=k+1 ))
                do
                        echo -n "* "
                done
                echo
        fi
        let "I+=1"
done

 

循环结构

1.while [condition]

  do

  done

2.until [condition]

  do

  done

 

3.for var in con1 con2 con3

do

done

4.for (( 初始值;限制值;执行步长 ))

do

done

#!/bin/bash
function test1() {
        echo "第一种方式进行循环"
        local I=0
        local SUM=0
        while [ $I -le 100 ];
        do
                SUM=$[$SUM+$I]
                let "I++"
        done
        echo "SUM的值为:"$SUM
}
function test2() {
        echo "第二种方式进行循环"
        local I=0
        local SUM=0
        until [ $I -le 100 ];
        do
                SUM=$(($SUM+$I))
                I=$[$I+1]
        done
        echo "SUM的值为:"$SUM
}
function test3(){
        echo "第三种循环方式"
        local I=0
        local SUM=0
        for I in `seq 1 100`
        do 
                SUM=$(($SUM+$I))
        done
        echo "SUM的值为$SUM"

}
function test4(){
        echo "第四种循环方式"
        local I=0
        local SUM=0
        for (( I=0;I<=100;I++ ))
        do 
                SUM=$[$SUM+$I]
        done
        echo "SUM的值为:"$SUM
}
test1
test2
test3
test4

 


 

转载于:https://my.oschina.net/alfredliukai/blog/497909

分享到:
评论

相关推荐

    shell特殊变量

    Shell特殊变量在Linux和Unix系统中的使用是shell脚本编程中的关键组成部分,它们提供了一种方式来访问和处理脚本运行时的环境信息。这些变量不是由用户直接赋值的,而是由shell自动创建和维护的,具有特殊的含义和...

    认识与学习 BASH,Shell 的变量功能

    【标题】:“认识与学习 BASH,Shell 的变量功能” 【描述】:“影响 bash 环境操作的变量[root@www ~]# echo $variable[root@www ~]# echo $PATH/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/...

    深入_Shell_变量操作

    深入探讨Shell变量操作:变量替换扩展与字符串处理 在Linux Shell编程中,变量操作是构建高效、灵活脚本的关键技能之一。本文将深入探讨Shell变量的高级操作技巧,特别是变量替换扩展和字符串处理,旨在帮助读者...

    shell的特殊变量实例详解

    在Shell编程中,有许多预定义的特殊变量,它们具有特定的功能和用途。本文将详细解析这些特殊变量的作用及其应用场景。 #### $0:Shell或Shell脚本的名字 - **作用**:`$0` 用于表示当前运行的脚本名称。 - **应用...

    练习shell变量、重定向、管道等相关命令

    ### 练习Shell变量、重定向、管道等相关命令 在Linux和Unix系统中,Shell脚本是一种非常强大的工具,用于自动化任务处理、系统管理和数据处理等。熟练掌握Shell中的变量、重定向和管道操作对于提高工作效率至关重要...

    5shell内置变量1

    标题中的“5shell内置变量1”指的是...这些内置变量是Bash shell功能的核心部分,理解和利用它们可以极大地提高shell脚本的效率和灵活性。在编写shell脚本或进行自动化任务时,熟练掌握这些变量的用法是非常必要的。

    linux实验六 shell变量

    - Shell变量是Shell编程中的基本概念之一,用于存储数据。这些数据可以是文件名、数字或文本字符串。 - 变量分为两种类型:用户自定义变量和系统预定义变量(即环境变量)。用户可以通过设置自定义变量来存储临时...

    Shell环形变量和Unix系统入门

    Shell环形变量是Unix/Linux shell编程中的重要概念,它们是环境变量的一种特殊形式,用于在shell会话期间保存临时数据。环形变量与普通环境变量的区别在于,它们只存在于当前shell会话中,不会传递给子进程。下面...

    shell编程基础之变量

    了解并熟练掌握这些基本的Shell变量知识,对于编写高效、可靠的Shell脚本至关重要。通过结合条件语句、循环结构和其他Shell特性,你可以创建出功能强大的自动化工具,提高日常Linux系统管理的效率。在实际应用中,...

    Bourne Shell及shell编程

    Bourne Shell 是一个功能强大且灵活的 shell,它提供了许多有用的特性和功能,例如变量、条件测试、循环控制、文件操作等。 shell 基础知识 Shell 是一个命令行接口,允许用户与操作系统进行交互。shell 提供了...

    判断Linux Shell环境变量是否存在

    判断Linux Shell环境变量是否存在是日常开发中的常见需求,掌握上述方法将有助于提高脚本的健壮性和可维护性。不同的方法适用于不同的场景,开发者可以根据具体需求选择合适的方法。同时,也建议多实践并结合实际...

    浅谈shell循环中变量的作用域问题

    最近实现了一个shell脚本,功能简单来说就是从文件中按行读取然后将所有行拼接成一行写入一个文件,关键代码如下 path_all= cat $1 | while read line do if [ $path_all == ];then path_all=$line else path_...

    Shell脚本中变量与字符串操作的实战指南

    使用场景及目标:帮助读者理解并运用Shell脚本中的变量和字符串相关概念,通过实际例子加深理解,以便能够在日常工作中更高效地编写维护脚本,实现任务自动化和系统管理等功能。 其他说明:建议读者跟随文中提供的...

    Shell基础Bash变量环境变量PPT教案.pptx

    了解和熟练使用这些Shell变量对于日常的系统管理和自动化任务至关重要,因为它们允许我们定制Shell行为、存储和传递信息以及在不同的Shell上下文中保持状态。熟悉环境变量的设置和使用尤其重要,因为它可以方便地...

    shell程序设计——变量

    总之,Shell程序设计中的变量是实现功能的核心工具,理解其工作原理和用法对于编写强大的Shell脚本至关重要。通过不断实践和学习,你可以充分利用Shell的灵活性和强大功能,提高Linux系统的管理效率。

    工作笔记 shell 变量和运算符

    变量扩展是 shell 中非常重要的一个概念,它可以让我们以不同的方式访问和操作变量中的值。 ##### 直接引用变量 ```sh echo $testvar ``` 这将直接输出变量 `testvar` 的值。 ##### 使用大括号进行引用 ```sh echo...

    B shell与 C shell的区别

    B shell的优点是它可以在所有的UNIX系统上运行,并且它的shell编程语言支持绝大多数在高级语言中能见到的程序元素,而C shell的优点是它提供了很多实用的功能,如命令历史记录、文件名补全和别名功能等。

    LINUX开发基础 系统使用 全屏编辑器VI SHELL 常用变量

    这一节包含了Shell程序的编写和执行、Shell变量(包括参数变量和内部变量)、测试命令、条件语句、循环语句以及函数的使用。通过Shell编程,用户可以定制自己的工作环境,提高工作效率。 学习Linux开发基础,不仅...

    5.1: Shell概述 、 编写及执行脚本 、 Shell变量 、 数值运算 、 总结和答疑.docx

    Shell概述、编写及执行脚本、Shell变量、数值运算 在 Linux 系统中,Shell 是一个非常重要的组件,它位于 Linux 内核与用户之间,负责向内核翻译及传达用户/程序指令。Shell 既可以作为交互式的命令行工具,也可以...

Global site tag (gtag.js) - Google Analytics