shell 编程基础
一、shell 脚本的结构
1、以类似于#!/bin/bash 的形式开头
1、#!告诉系统这个文件是由特定命令解释器解释的一组命令.
2、紧跟着#!的是一个路径名.这个路径名是解释这个脚本内命令的命令解释器程序的路径:
可能是一个shell,也可能是一个编程语言或者是一个软件包程序.
3、#!/bin/sh 表示使用系统默认的shell(linux默认的shell 是Bash).
2、执行脚本
通常执行脚本有三个方法:
1、sh scriptname
2、bash scriptname
3、chmod 命令使脚本自身变为可执行。(这也是最方便的一个方法)
可能有人想,能不能要文件创建出来就可执行呢?答案是否定的
系统不允许你在创建一个文本文件时就赋予它执行权限,必须在创建后用chmod命令增加这一权限.
umask命令允许你设定文件创建时的缺省模式。
对于文件其最大的数值为6(即可读写),对于文件夹则最大为7 (即读、写、执行)。
3、关于变量
1.变量的赋值
#!/bin/bash
# 注释都是以“#”开头。 #对变量进行赋值
a=123 #第一种赋值方式
#等号的两边都不能有空格
#如果形如 a =123,则解释器会认为a 是一个命令,而 “=123”是一个参数。
let "a +=1" #第二种赋值方式
#第三种 ,在一个for循环中赋值
for a in 2 3 4 5 10
do
echo -n $a # -n 每行的末尾不插入回车换行
done
#第四种赋值 :用read 命令赋值
echo -n "Enter \"a\""
read a
echo "The value of \"a\" is now $a."
hello="A B C D"
echo $hello
echo "$hello"
#将变量用引号引起来,会保留变量中的空白字符。
exit 0
|
2.关于变量的类型
Bash不以"类型"来区分变量。根据环境的不同,bash允许变量有整数计算和比较。
3.位置参数
$0 脚本的名字(带路径的名字)
$n 第N个参数
shift命令: 使位置参数都左移一位
1 #!/bin/bash 2 # 用 'shift'命令逐步存取所有的位置参数 3 4 # 给这个脚本一个命名,比如说shft, 5 #+ 然后以一些参数来调用这个脚本,例如 6 # ./shft a b c def 23 skidoo 7 8 until [ -z "$1" ] # 直到所有的位置参数被存取完... 9 do 10 echo -n "$1 " 11 shift 12 done 13 14 echo # 换行. 15 16 exit 0
|
阅读(1440) | 评论(0) | 转发(0) |