分类: LINUX
2012-08-25 19:57:39
一点一点学习shell编程
运行脚本语言的方法:
(1)chmod a+x sh3.sh
./ sh3.sh
(2) sh sh3.sh
第一种方法:可能找不到命令,需要你在命令行上添加PATH=$PATH 或者你的脚本你里面添加。
这样做的好处就是保证你不会意外的执行系统里面与你的脚本名同名的另一个命令。。
使用引号:
myvar=”hi there”( )
myvar = “hi there” ( ) 两边不能留有空格
wen :~/dmitsai/bin$ name='vbrid book'
wen :~/dmitsai/bin$ echo $name
vbrid book
wen :~/dmitsai/bin$ echo "$name"
vbrid book
wen :~/dmitsai/bin$ echo '$name'
$name
wen :~/dmitsai/bin$ echo \$name
$name
环境变量:
$HOME: 当前的家目录
$PATH: 搜索的目录
$0: shell脚本的名字
$#:传递给脚本的参数个数
$$: “$”本身也是一个变量,代表目前这个shell的线程代号
$?:就是命令的回传值 。如果执行成功就是0,执行错误就会返回错误的代码。。
#!/bin/sh
myvar="hi there"
echo $myvar
echo "$myvar"
echo '$myvar'
echo \$myvar
echo Enter some text
read myvar;
echo '$myvar' now equals $myvar
exit 0
而此处的exit的命令就是保证脚本程序返回一个有意义的退出码,就如同'$?'也代表命令是否执行成功
wen :~/dmitsai/bin$ ls - l ; echo $?
ls:无法访问-:没有那个文件或目录
ls:无法访问l:没有那个文件或目录
2(命令没有执行成功的回传码非0值)
wen :~/dmitsai/bin$ ls -l ; echo $?
总用量 32
-rwxrwxr-x 1 wen wen 504 8月 11 20:08 sh2.sh
-rwxrwxr-x 1 wen wen 696 8月 10 16:54 sh3.sh
-rw-rw-r-- 1 wen wen 582 8月 11 09:53 sh4.sh
-rw-rw-r-- 1 wen wen 582 8月 11 09:12 sh5.sh
-rw-rw-r-- 1 wen wen 563 8月 11 09:23 sh6.sh
-rw-rw-r-- 1 wen wen 586 8月 11 09:50 sh7.sh
-rw-rw-r-- 1 wen wen 510 8月 11 10:54 sh8.sh
-rwxrwxr-x 1 wen wen 152 8月 10 16:03 sh.sh
0
参数变量:
$@
$*
wen :~/dmitsai/bin$ IFS=''
wen :~/dmitsai/bin$ set foo bar
wen :~/dmitsai/bin$ echo "$@"
foo bar
wen :~/dmitsai/bin$ echo "$*"