学习 Shell Scripts

   最近在做安卓的项目,有很多脚本,看起来很是吃力,便看了一下《鸟哥的Linux私房菜基础》这本书,个人感觉还是不错的,小编也是个小白,仅仅是了解了一下这章节内容的相关语法和用法,保证能看懂即可,毕竟也不是专业搞Linux的,这里记录下来,就当时笔记喽。
  1. Hello world
#!/bin/bash
# Program:
# This program shows "Hello World!" in your screen.
# History:
# 2015/09/29  Luffy  First release
export BASE_DIR=${PATH}
echo  "Hello World! \a \n"
exit 0
  • 第一行 #!/bin/bash 在宣告这个 script 使用的 shell 名称: 因为我们使用的是 bash ,所以,必须要以『
    #!/bin/bash 』来宣告这个档案内的语法使用 bash 的语法!那举当这个程序被执行时,他就能够加载 bash 的相关环境配置文件 (一般来说就 是 non-login shell 的 ~/.bashrc), 幵且执行 bash 来使我们底下的指令能够执行!这很重要
    的!(在很多状况中,如果没有讴定好这一行, 那举该程序很可能会无法执行,因为系统可能无 法刞断该程序需要使用什举 shell 来执行啊!)
  • 程序内容的说明:
    整个 script 当中,除了第一行的『 #! 』是用来宣告 shell 的乀外,其他的 # 都是『批注』用
    途! 所以上面的程序当中,第二行以下就是用来说明整个程序的基本数据。一般来说, 建议你
    一定要养成说明该 script 的:1. 内容不功能; 2. 版本信息; 3. 作者不联绚方式; 4. 建檔日
    期;5. 历叱纪录 等等。这将有劣亍未来程序的改写不 debug 呢!
  • 主要环境发量的宣告:
    建议务必要将一些重要的环境发量讴定好,鸟哥个人讣为, PATH 不 LANG (如果有使用刡输出
    相关的信息时) 是当中最重要的! 如此一来,则可讥我们这支程序在迚行时,可以直接下达一些
    外部指令,而丌必写绛对路径呢!比较好啦!
  • 主要程序部分
    就将主要的程序写好即可!在这个例子当中,就是 echo 那一行啦!
  • 执行成果告知 (定丿回传值)
    是否记得我们在第十一章里面要认讳一个指令的执行成功不否,可以使用 ?exit使exit0script0scriptecho ? 则可得刡 0 的值喔! 更聪明的读者应该也知道了,呵呵!刟用这个
    exit n (n 是数字) 的功能,我们还可以自定丿错误讯息, 讥这支程序发得更加的 smart 呢!

以上5点解释来自《鸟哥的Linux私房菜基础》

2.输出HELLO WORLD

#!/bin/bash
# Program:
# This program shows "Hello World!" in your screen.
# History:
# 2015/09/29  Luffy  First release
export BASE_DIR=${PATH}
echo  "Hello World! \a \n"
exit 0

3.四则运算

#!/bin/bash
# Program:
# This program shows "SHOW YOUR NAME!" in your screen.
# History:
# 2015/09/29  Luffy  First release
export BASE_DIR=${PATH}
read -p "input first number:" a
read -p "input second number:" b
echo $(($a+$b))
echo "scale=2;$a/$b" |bc

4.if else

#!/bin/bash
# Program:
# This program shows "SHOW YOUR NAME!" in your screen.
# History:
# 2015/09/29  Luffy  First release
export BASE_DIR=${PATH}
read -p "input a number:" number
if([ "${number}" -gt 90 ]);then echo "great";
elif([ "${number}" -gt 60 ]);then echo "good";
else echo "not ok"
fi

5.switch

#!/bin/bash
# Program:
# This program shows "SHOW YOUR NAME!" in your screen.
# History:
# 2015/09/29  Luffy  First release
export BASE_DIR=${PATH}
read -p "input a number:" number
case ${number} in 
    "hello") echo "hello world!";;
    "") echo "can not null";;
    *) echo "you win";;
esac


6.for

#!/bin/bash
# Program:
# This program shows "SHOW YOUR NAME!" in your screen.
# History:
# 2015/09/29  Luffy  First release
export BASE_DIR=${PATH}
nu=0;
read -p "input a number:" number
for((i=1;i<=$number;i=i+1)) 
    do
         nu=$(($nu+$i))
    done

echo $nu

7.function

#!/bin/bash
# Program:
# This program shows "SHOW YOUR NAME!" in your screen.
# History:
# 2015/09/29  Luffy  First release
export BASE_DIR=${PATH}
function show(){
    echo "your choice is:$1 $2 " # | tr 'a-z' 'A-Z' 将参数做大小写转换!   
}
read -p "input a number:" number
case ${number} in 
    "one") show "one" 1   
    ;;
    "two") show "two" 2
    ;;
    *)     show "other" 3
    ;;
esac
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值