Shell脚本之let,echo变量

http://blog.chinaunix.net/uid-26827001-id-3154024.html

首先看到好多以这样开头的    #!/bin/bash   这个是告诉系统 解释此脚本文件的Shell程序
# 这个是注释行,当行有效
脚本程序一般用 xx.sh 文件表示,这样一样就可以看出文件的属性,当然也可以不这样
一个脚本程序写完后,如果要执行它,则必须先赋+x  执行权限给它
例如:chmod +x xx.sh,然后用命令 ./filename  执行
 以下是一些知识点:
1. echo :用于显示(不带参数,如果有多行则换行输出)   例如:echo  "hello shell" 
    如果加上参数 -n  表示如果有多行的话,将不换行输出
    点击(此处)折叠或打开

  1. #!/bin/bash
  2. # filename is while.sh
  3. count=0
  4. while(($count < 5 ))
  5. do
  6. echo -n " count=" $count
  7. let count=count+1
  8. done

顺便说一句,linux提供2中命令:一种是内部命令,一种是外部命令。解释执行内部命令要比外面命令快的   多, 同时,解释内部命令时候,shell不需要创建子进程,而外部命令则需要创建子进程,这就增大了系统的开销。查看是不是内部命令,可以用如下命令:type  command   例如:type echo
2. $xx  表示引用变量:如上面的代码中,第三行定义了变量count, 第四行,第六行 $count  则引用该变量。
3. 位置变量  : $0 文件名,$1 第一个参数 $2 第二个参数

点击(此处)折叠或打开

  1. #!/bin/bash
  2. #filename is first.sh
  3. #have 3 parameter to first.sh
  4. #command is: ./first.sh 1 2 3
  5. # $#:传入脚本的参数个数
  6. # $*:显示所以的参数,并以空格隔开
  7. # $0:命令本身,即要执行的文件名
  8. # $1:第一个参数
  9. # $2:第二个参数
  10. # $3:第三个参数 后面一样 ~等等
  11. echo "number of vars:"$#
  12. echo "var of vars:"$0
  13. echo "first var:"$1
  14. echo "second var:$2
  15. echo "third var:$3

4. let :用来执行算数运算和数值表达式测试。
    let 命令的替代表示形式是: ((算术表达式)) ,这样做的好处是如果表达式中含有特殊的字符,可以告示shell 进行特殊处理:例如,let ″val=a|b″。如果不括起来,Shell会把命令行let val=a|b中的“|”看成管道符,将其左右两边看成不同的命令,因而无法正确执行。
    以下代码执行结果为:1 3 7 10

点击(此处)折叠或打开

  1. #!/bin/bash
  2. #filename is let.sh
  3. i=1
  4. echo "i="$i
  5. let i=i+2
  6. echo "i="$i
  7. let "i=i+4"
  8. echo "i="$i
  9. ((i+=3))
  10. echo "i="$i

5. 函数调用:声明函数 function name(){~~~~},函数的调用,直接写函数名称name即可。

点击(此处)折叠或打开

  1. #!/bin/bash
  2. # filename is second.sh
  3. # 函数申明和调用
  4. function fun1(){
  5. local a="hello world"
  6. echo "函数调用成功 "$a
  7. }
  8. echo "函数调用前"
  9. fun1
  10. echo "函数调用结束"

6. Shell中的变量种类:局部变量和全局变量
        局部变量 是在函数中用local 声明的变量:他的作用域是在函数调用开始到函数结束。
        全局变量 在shell脚本下声明的变量,他的作用域是整个shell的生存周期内。shell结束,全局变量的周期也结束。

点击(此处)折叠或打开

  1. #!/bin/bash
  2. #filename is localvar.sh
  3. var1="hello shell"
  4. function fun(){
  5. #定义局部变量
  6. local var2="hello local variable"
  7. echo "在函数中 使用局部变量 var2="$var2
  8. echo "调用全局变量1  var1="$var1
  9. }
  10. fun
  11. echo "在函数外调用 局部变量 var2="$var2
  12. echo "调用全局变量2  var1="$var1

补充:环境变量、位置变量、标准变量、特殊变量等
    环境变量:用于所有的用户进程,可以看成是windows下的环境变量,用export定义:如
              export LOGNAME="fjsm20", 可以用env或export查看系统环境变量
    位置变量:就是调用函数时候的参数,例如:./first.sh 11 22 33 如上面的第3知识点
    标准变量:就是bash环境建立的一些标准环境的标量,他会自动去解析,基本都在/etc/profile中定义了有EXINIT,HOME,IFS,LOGNAME,MAIL,MAILCHECK等(引用网上资料)
     特殊变量: $# 参数个数,$* 列出所有参数,$!显示后天脚本的进程Id ,$$显示当成脚本的进程id,$? 最后命令退出的状态,0 表示正常;

时间: 2024-10-08 18:40:12

Shell脚本之let,echo变量的相关文章

让shell脚本中的echo输出带颜色

让echo输出带颜色的方法有两种 在shell脚本中定义颜色变量,使用echo -e调用变量 定义变量的时候,把echo -e定义到变量中,然后输出变量 可以让echo输出显示颜色的shell脚本 #!/bin/bash #定义颜色的变量 RED_COLOR='\E[1;31m'  #红 GREEN_COLOR='\E[1;32m' #绿 YELOW_COLOR='\E[1;33m' #黄 BLUE_COLOR='\E[1;34m'  #蓝 PINK='\E[1;35m'      #粉红 RE

shell脚本解析3-----局部变量与函数

#!/bin/bash hello="var1" echo $hello function func1                             #定义函数func1 { local hello="var2"                    #定义内部变量hello echo $hello } func1                                          #进行函数调用 echo $hello 执行结果: 总结:局

shell脚本中特定符合变量的含义

shell脚本中特定符合变量的含义: $#   传递到脚本的参数个数 $*    以一个单字符串显示所有向脚本传递的参数.与位置变量不同,此选项参数可超过9个 $$    脚本运行的当前进程PID号 $!     后台运行的最后一个进程的进程号 [email protected]   与$*相同,但是使用时用双引号,并将各个参数加双引号返回 $-     显示shell使用的当前选项,与set命令功能相同 $_    上一个命令的最后一个参数 $?     显示最后命令的退出状态,0表示执行成功

shell脚本中使用echo显示带颜色的内容

shell脚本中使用echo显示带颜色的内容,需要使用参数-e 格式如下: echo -e "\033[字背景颜色;文字颜色m字符串\033[0m" 例如: echo -e "\033[41;36m Hello World \033[0m" 其中41的位置代表底色, 36的位置是代表字的颜色 注: 1.字背景颜色和文字颜色之间是英文的"" 2.文字颜色后面有个m 3.字符串前后可以没有空格,如果有的话,输出也是同样有空格 下面是相应的字和背景颜色

Shell脚本基础、使用变量、条件测试及选择、列表式循环

Shell语言 脚本:可以运行,一个文件,可以实现某种功能(命令的堆积) [[email protected] ~]# vim /root/stu.sh echo hello worldcat /etc/redhat-releaseuname -rhostname ifconfig | head -2 [[email protected] ~]# chmod +x /root/stu.sh [[email protected] ~]# /root/stu.sh 案例1:书写一个创建用户的脚本 [

linux——Shell 脚本基础篇(变量类型,变量操作,定义,运算与逻辑关系)

Shell 脚本基础 1.变量 什么是变量 #a=1 # echo $a 1 变量:可以变化的量 1.2变量名称注意事项 变量名不能以数字开头 不能与系统中已有的环境变量重名,尽量不要全部使用大写,尽量不要使用"_"下划线开头 最好做到见名知意 不能使用程序中的保留字,列如if,for等 1.3变量类型 字符型 数值型 整型浮点型 布尔型 条件是和否 #$echo $a 引用 abc 撤销 unset +(变量名)a 1.4变量操作 * 设置变量 * 引用变量 * 撤销变量 单引号和双

Linux编程 20 shell编程(shell脚本创建,echo显示信息)

一概述 前面19章里已经掌握了linux系统和命令行的基础知识,从本章开始继续学习shell脚本的基础知识.在大量编辑shell脚本前,先来学习下一些基本概念. 1.1    使用多个命令 Shell可以让多个命令串起来,一次执行完成,可以把它们放在同一行中,用分号隔开,如下所示: 上面就是一个简单的脚本了,用到了两个bash shell命令,但每次运行之前,都必须在命令提示符下输入整个命令.如果将命令组合成一个简单的文本文件,需要时运行这个文本文件就行了. 1.2    创建shell 脚本文

基本shell脚本的边界及变量

 shell脚本与变量  shell脚本的用途: 自动化常用命令 执行系统管理和故障排除 创建简单的应用程序 处理文本或文件  shell脚本编写格式: 第一行:shebang机制 用#加shell类型开头 后续可直接跟命令,用命令达到需要的效果即可 如需内容注释行首加#即可 例如: #/bin/bash #testcat /etc/passwd  shell脚本执行方法: bash /绝对路径 加入$PATH变量,给脚本文件添加执行权限,然后直接输入脚本文件名即可运行 cat /脚本路径 |

Shell 脚本之编程和变量(外加实战项目)

本章目的:学会编程规范,变量的相关脚本操作和知识 一.Shell 脚本的概述 二.Shell的作用 三.写第一个Shell脚本 1.写一个脚本(到BOOT目录,查看当前位置,以长格式友好显示VML开头的所有文件) [[email protected] ~]# vim aaa.sh "随意编一个空文件以.sh为结尾" /bin/bash "开头声明,固定格式" 一个脚本 "描述性信息可加可不加" cd /boot/ pwd ls -lh vml*

Shell脚本编程规范与变量

主要内容 Shell脚本编程规范 Shell脚本应用场景 Shell编程规范 管道与重定向 Shell脚本变量 自定义变量 特殊变量 Shell脚本概述 Shell脚本的概念 将要执行的命令按顺序保存到一个文本文件 给该文件可执行权限,便可运行 可结合各种Shell控制语句以完成更复杂的操作 Shell脚本应用场景 重复性操作 批量事务处理 自动化运维 服务运行状态监控 定时任务执行 编写第一个Shell脚本 1.编写脚本代码 使用vim文本编辑器,每行一条Linux命令, 按执行顺序依次编写: