您的位置:首页 > 运维架构 > Shell

bash 脚本编程一 文件头,注释 和 变量

2012-09-12 16:56 274 查看

文件开头

#!/bin/bash#! 是所有linux脚本文件开头的符号, 后面的/bin/bash表示是使用/bin/bash为解释器来执行本文件的脚本

运行文件

bash some.sh 或者 sh some.sh 也行,原因是文件头已经说明了这是bash解释器, 所以不会被dash误认
或者
./some.sh 这里需要可执行权限 chmod +x ./some.sh 

试一下:

调用一个基本的Linux命令,
echo "hello,world"
保存为test.sh文件,打开执行权限:
sudo chmod +x ./test.sh运行吧:
./test.sh
看到了hello,world.

调试

用-x参数运行即可bash -x some.sh
会打印每一条语句

注释#

添加一个注释吧,用#开头(pound sign)的所有字符都是注释,除了第一行以外
#!/bin/bash
echo "hello,world" #this is a test#后面的文本执行的时候被忽略了

预定义变量

bash提供了一些预定义的变量供编程使用,具体可参考文档:
http://www.gnu.org/software/bash/manual/bash.html#Bash-Variables

这里使用几个:
#!/bin/bash
echo "hello,world" #this is a test
echo $BASH
echo $LANG
echo $USER
echo $PWD显示结果如下:
chenshu@sloop2:~/Ubuntu One$ ./test.sh
hello,world
/bin/bash
en_US.UTF-8
chenshu
/home/chenshu/Ubuntu One注意,变量名是大小写敏感的,并且预定义的变量名都是全大写。

自定义变量

现在自己定义个变量,然后用一下试试看。
me="ok"
echo $me
注意,=号左右不能有空格,和编写其他程序规范不一样。加了空格程序就会错误。

引用变量

$是取变量的值的运算符。正式写法是${variable-name} , 经常不使用 { } 简化为 $variable-name
$ echo ${a}
6


变量保存字符串

如果字符串中有空格,才必须用" "括起来,因为bash会把空格视作两个命令之间的分隔符。
如果没有空格, 则不需要用""括起来也是字符串
$ a="5 6"
$ echo $a
5 6

$ a=A
$ echo $a
A
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  bash 脚本 编程 shell linux