Shell编程<一>

1,内部参数

$# :本的命令参数

$* :所有命令参数值,在参数值留有空格

$0 :命令 本 身 ( shell 文 件 名)

$1 :第 一 个 命令 行 参数

$2 :第二 个 命令 行参数

$? ----上一个代码或者shell程序在shell中退出的情况,如果正常退出则返回0,反之为非0值。

$- ----在Shell启动或使用set命令时提供选项

$$ ----当前shell的进程号

$! ----上一个子进程的进程号

$@ ----所有的参数,每个都用双括号括起

$n ----位置参数值,n表示位置

比较操作操作字符操作 

 相  -eq    = 

 不同    -ne   != 

 大于    -gt   > 

 小于    -lt   < 

等于-ge 

等于-le 

  -z 

  -n 

判断

-e件已经在 

-f 文件是普通文件
-s 文件大小不为零
-d 文件是一个目录
-r 文件对当前用户可以读取
-w 文件对当前用户可以写入
-x 文件对当前用户可以执行 

 #!/bin/sh
folder=/home
[ -r "$folder" ] && echo "Can read $fol# &&前面的表达式为真则执行后面的表达式
[ -f "$folder" ]
|| echo "this is not file"# ||前面的表达式为假则执行后面的表达式


2,特殊设置


readonly 变量名

有时我们想要在说明一个变量并对它设置为一个特定值后就不在改变它的值时,可以用下面的命令来保证一个变量的只读性:单独执行readonly可以显示所有的只读变量。

export 变量名

在任何时候,创建的变量都只是当前Shell的局部变量,所以不能被Shell运行的其他命令或Shell程序所利用,而export命令可以将一个局部变量提供给Shell执行的其他命令使用,也可以在给变量赋值的同时使用export命令(export 变量名=变量值)。使用export说明的变量,在Shell以后运行的所有命令或程序中都可以访问到。

3,内部命令

  bash命令解释套装程序包含了一些内部命令。内部命令在目录列表时是看不见的,它们由Shell本身提供。常用的内部命令有:echo, eval, exec, export, readonly, read, shift, wait和点(.)。下面简单介绍其命令格式和功能。

  1.echo

  命令格式:echo arg

  功能:在屏幕上显示出由arg指定的字串。

  2.eval

  命令格式:eval args

  功能:当Shell程序执行到eval语句时,Shell读入参数args,并将它们组合成一个新的命令,然后执行。

  3.exec

  命令格式:exec命令参数

  功能:当Shell执行到exec语句时,不会去创建新的子进程,而是转去执行指定的命令,当指定的命令执行完时,该进程(也就是最初的Shell)就终止了,所以Shell程序中exec后面的语句将不再被执行。

  4.export

  命令格式:export变量名或:export变量名=变量值

  功能:Shell可以用export把它的变量向下带入子Shell,从而让子进程继承父进程中的环境变量。但子Shell不能用export把它的变量向上带入父Shell。

  注意:不带任何变量名的export语句将显示出当前所有的export变量。

  5.readonly

  命令格式:readonly变量名

  功能:将一个用户定义的Shell变量标识为不可变。不带任何参数的readonly命令将显示出所有只读的Shell变量。

  6.read

  命令格式:read变量名表

  功能:从标准输入设备读入一行,分解成若干字,赋值给Shell程序内部定义的变量。

  7.shift语句

  功能:shift语句按如下方式重新命名所有的位置参数变量,即$2成为$1,$3成为$2…在程序中每使用一次shift语句,都使所有的位置参数依次向左移动一个位置,并使位置参数$#减1,直到减到0为止。

  8.wait

  功能:使Shell等待在后台启动的所有子进程结束。wait的返回值总是真。

  9.exit

  功能:退出Shell程序。在exit之后可有选择地指定一个数位作为返回状态。

  10.“.”(点)

  命令格式:. Shell程序文件名

  功能:使Shell读入指定的Shell程序文件并依次执行文件中的所有语句。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xtudj

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值