shell的编程

·如何执行shell脚本?

答:假设脚本文件的名称为a.sh

⑴sh a.sh或bash a.sh。它的含义就是通过系统中的bash程序去读取a.sh文件,然后执行文件中的内容,“a.sh” 是作为sh或bash程序的参数性质出现

⑵bash <a.sh或sh< a.sh。表示“a.sh”文件作为bash程序或sh程序 的标准输入

⑶先将a.sh程序赋予执行权限,然后通过下列方式执行。

例子:
./for.sh等效于/root/for.sh。表示在当期目录读取for.sh文件。实际上起到告诉系统“for.sh”在哪个位置。

#echo $PATH                         -----------表示找到会有可执行文件的目录

使用变量自定义

#num=123

#echo $num

#unset    num                             ---------------取值重定义

预定义#echo $?                         ---------------上一个命令执行的返回值,返回“0”则表示上一个命令正常退出或退出。如果返回其他非0数值,则表示上个命令没有正常执行。

也可以这样说,#echo $?值为0时,表示测试的结果为真,否则表示测试结果为假。

test测试的标准方法

格式:test 测试表达式

数值测试  :-eq    ----------等于则为真

                      -ge     ----------大于等于则为真

                       -gt    ----------大于则为真

                       -le      -------小于则为真

                      -ne     --------不等于则为真

                     

字串测试:=          ----------等于则为真

                   !=      ----------不想等则为真

                  -z 字符串        --------字符串长度为0则为真

                -n 字符串          -------字串长度不为零则为真。

文件测试:-b 文件名       ----------如果文件存在且为块特殊文件按则为真。

                   -c 文件名         ----------如果文件存在且为字符型特殊文件则为真。
                
                   -d文件名        ----------如果文件存在且为目录则为真
 
                   -e文件名         ---------如果文件存在则为真
 
                   -f文件名             -------如果文件存在且为普通文件则为真。
练习:写出一个适合shell程序,要求使用测试命令检查/root中是否存在hello.c文件,如果存在的则输出“存在”,反之,"不存在"
打开终端
#vim   adjust,sh
插入
#!/bin/bash                         ----------程序的第一行一般为“#!/bin/bash”其中#表示改行是注释;!表示告诉shell运行!之后的命令,即执行/bin/bash并让/bin/bash去执行shell程序的内容
if [  -e/root/hello.c  ]
then  
echo "该文件存在"
else
echo  "不存在"
fi
 
保存并退出。
 
练习:写一个合适的shell程序。求出1到100的奇数和
 
#vim conut .sh
#!/bin/bash
var=0
for i in $(seq 1   100)
do
if [ `expr  $i % 2` -ne 0  ]
then
var=$[var+i]
if
done
echo    "奇数和为:"  $var
 
保存并退出。
 
如果想求偶数和:只需要改一下上面的 “expr $i % 2 -eq 0”即可
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值