Bash Shell编程基础

Bash Shell

Overview

  • Shell:官方以“Command Interpreter”介绍Shell,一款由C编写的应用程序,提供了一个终端通过命令解释器用以用户与操作系统的交互
  • Bash:Shell种类众多,其中Bash是GNU/Linux操作系统默认的"Command Interpreter",是应用最广的一种

Basic Usage

变量

  • 字符串

    以下两种字符串变量赋值方式echo输出无差异,但是一般采用第一种

    greet="Welcome"
    greet=Welcome
    
  • 命令执行结果:$(command)

    user=$(whoami)
    
  • 变量值使用:$variable

  • 变量值拼接:${variable}_xxx

    output=${user}_home/tmp
    

函数

function func
{
	echo "Hello world"
}

func

关键字function定义函数,如果左花括号不换行,函数名与花括号间需要以空格隔开,否则执行报错 function func {...

参数

#!/bin/bash
echo $0 $1 $2 $3
echo $#
echo $*
./para.sh hello world comeOn!
//output:
./para.sh hello world comeOn!
3
hello world comeOn!

值的比较

DescriptionNumeric ComparisonString Comparison
less than-lt
greater than-gt
equal-eq=
not equal-ne!=
less or equal-le
greater or equal-ge
  • 比较判断:[blank blank]
  • 结果:$?,0-true, 1-false
[ $var1 -eq $var2 ] #严格遵循空格约定
echo $?			   # 0:true, 1:false

条件判断

num_a=100
num_b=200

if [ $num_a -lt $num_b ]; then
	echo "$num_a is less than $num_b"
else
	echo "$num_a is greater than $num_b"
fi	
  • if []... then... else...fi
  • 未过行需要使用分号;间隔

循环语句

for
#!/bin/bash

for i in 1 2 3; do
	echo $i
done
  • for var in list ; do ... done
while
#!/bin/bash
counter=0
while [ $couter -lt 3 ]; do
	let counter+=1
	echo $counter
done
  • while []; do ... done
until
#!/bin/bash
counter=6
until [ $couter -lt 3 ]; do
	let counter-=1
	echo $counter
done
  • until []; do ... done

输入输出重定向

  • >:stdout
  • 2>:stderr
  • &>:stdout && stderr
  • <:stdin

Note: /dev/null

  • 错误信息直接丢弃:command 2> /dev/null
  • 文件内容清空:cat /dev/null > file.txt

算术表达式

$(( ))

Command

  • exprexpr 2 + 2 等效于 $(( 2+2 ))
  • let:算术表达式变量数值计算
  • bc:浮点计算
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值