shell 脚本学习

http://www.runoob.com/linux/linux-shell-variable.html


学习心得:

运算(算术运算 + - * / ..)

((表达式))

表达式中的变量作用域在(())外。

(表达式) 

表达式中的变量作用域在()内

获取运算结果

$((表达式))

$(表达式)

例:两个都可以

i=$(($i + 1))
contentLength=`expr ${#content} - 2`


判断(关系运算 == != > < >= ...)

[表达式]

例:

if [ $((${i} % ${length})) == 0 ]




获取变量长度,在花括号中的变量前加一个#

str="sff is a good man"
echo ${#str}

shell脚本中的外部参数是从$0开始的,只不过$0直接被占用了,就是对应的.sh文件名。我们要传的参数就从$1开始了

以下实例我们向脚本传递三个参数,并分别输出,其中 $0 为执行的文件名:

#!/bin/bash
# author:菜鸟教程
# url:www.runoob.com

echo "Shell 传递参数实例!";
echo "执行的文件名:$0";
echo "第一个参数为:$1";
echo "第二个参数为:$2";
echo "第三个参数为:$3";

为脚本设置可执行权限,并执行脚本,输出结果如下所示:

$ chmod +x test.sh 
$ ./test.sh 1 2 3
Shell 传递参数实例!
执行的文件名:./test.sh
第一个参数为:1
第二个参数为:2
第三个参数为:3

shell 中变量赋值也要用$标识的,其实变量处理和php类似,只不过shell变量在等号左边时不用$而已

#!/bin/sh
top='sff is a good man'
echo ${#top}
dd=top
echo $dd
ff=$top
echo $ff

结果为:

17
top
sff is a good man

shell 的read命令有点像java的System.in方法。

ead 命令从标准输入中读取一行,并把输入行的每个字段的值指定给 shell 变量

#!/bin/sh
read name 
echo "$name It is a test"

以上代码保存为 test.sh,name 接收标准输入的变量,结果将是:

[root@www ~]# sh test.sh
OK                     #标准输入
OK It is a test        #输出





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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值