精简Bash程序设计教程一:变量的使用这篇教程是<Beginning Linux Programming> 3rd 第二章的读书笔记.进行了一些小小的改动,更好突出主题. 1 起步走这个例子说明了如何编写shell,声明变量,读入用户输入,引用变量#!/bin/sh
#Author: Yunshichen #Created at: 2009.08.19 a=Hello echo "a is: "$a #带空格的字符串必须要用双引号括起来. #a=Hello world! #echo "a is: "$a a="Hello world!" echo "a is: "$a #=号两边不能有空格. #a = "Hello world!" echo "a is: "$a echo "What's your name?" read aname echo "hello, "$aname exit 0 #知识点: #1>每个shell都以#!/bin/sh开头,文件名一般是xxx.sh #2>变量都存储为字符串 #3>如果字符串包含空格,就必须用引号括起来 #4>变量赋值时,等号两边不能有空格. #5>从终端读取变量不需要引号. #6>用$varname的方式引用变量值 把上述程序存为1.sh,打开文件所在的文件夹,依次执行 chmod +x 1.sh
./1.sh 就可以看到程序运行效果. 写完shell程序之后,都必须以上述方式改变文件属性,执行才能得到输出结果.以下不再赘述这个过程. 2 单引号的使用
#!/bin/sh
#Author: Yunshichen #Created at: 2009.08.19 myvar="Hi there" echo $myvar echo "$myvar" echo '$myvar' echo \$myvar echo Enter some text read myvar echo '$myvar' now equals $myvar exit 0 #知识点: #1>单引号的作用 #2>$可以通过\取消变量 3 参数变量如果脚本程序在调用时带有参数,Linux就会创建一些额外的变量.姑且称之为参数变量#!/bin/sh
#Author: Yunshichen #Created at: 2009.08.19 echo "The separator between parameters is: $IFS" echo "The program $0 is now running" echo "There are $# parameters" echo "The first parameter was $1" echo "The second parameter was $2" echo "The parameter list was $*" IFS='' echo "Using \$@,the parameter list was $@" echo "Using \$*,The parameter list was $*" exit 0 #知识点 #1>$IFS : 分隔单词的字符,通常是空格,制表符和换行符. #1>$0: shell脚本的名字 #2>$#: 传递给脚本的参数个数 #3>$$: shell脚本的进程号 #4>$1,$n..: 脚本程序的参数 #5>$*: 在一个变量间列出所有参数,各个参数以IFS定义的分隔符分隔. #6>$@: 在一个变量间列出所有参数,不同的是参数不用IFS分隔.所以用$@比用$*更好. 将文件存为3.sh .输入 ./3.sh aaa bbb ccc 察看输出结果. |
|