分享

精简Bash程序设计教程一:变量的使用 - yunshichen - IT博客

 xrzs 2010-03-02

精简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 +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 察看输出结果.

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多