Linux的shell编程

1.引号的使用

将一个$变量表达式放在双引号中,程序执行到这一行会把变量替换为它的值;放在单引号中,不会替换。

字符串通常放在双引号中,防止变量被空白字符分开,同时也允许$扩展。

一个简单的交互式shell脚本

#!/bin/bash
echo "Is it ok?please answer 0 or 1"
read ans
if [ $ans = 0 ]
then
    echo "It is great!"
else
    echo "I'm sorry!"
fi
exit 0

我们可以看到,这个程序有一个潜在的bug,就是当我们直接输入enter键时,会出现一个报错信息。

分析:这是因为第一个if语句在对变量ans进行测试的时候,输入的可以看成是一个空字符串,即if [  = 0 ],但是这并不是一个合法的条件,避免这种情况的出现,我们可以给变量加上引号(if [ $"ans" = 0 ]),那么会变为if [ " " = 0],那么这就是一个合法的测试条件了。

2.echo 命令

echo 命令是用于输出的,相当于printf,但是echo输出是默认有换行的,要是想要输出不换行,有以下两种方法:
echo -n "hello world"

or

echo -e "hello world\c"  这种方法确保启用了反斜线转义字符(如\c代表去掉换行符,\t 代表制表符)的解释

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值