Chinaunix首页 | 论坛 | 博客
  • 博客访问: 373033
  • 博文数量: 55
  • 博客积分: 1033
  • 博客等级: 少尉
  • 技术积分: 603
  • 用 户 组: 普通用户
  • 注册时间: 2012-07-21 13:36
文章存档

2013年(4)

2012年(51)

分类: LINUX

2012-08-25 19:57:39

一点一点学习shell编程

运行脚本语言的方法:

(1)chmod  a+x   sh3.sh

./ sh3.sh 

(2)  sh sh3.sh

第一种方法:可能找不到命令,需要你在命令行上添加PATH=$PATH 或者你的脚本你里面添加。

这样做的好处就是保证你不会意外的执行系统里面与你的脚本名同名的另一个命令。。

使用引号:

  1. myvar=”hi there”( )

  2. 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 "$*"

阅读(1222) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~