Shell学习-入门(一)

本文详细介绍Bash脚本的基础知识,包括环境介绍、基本特性、打印操作、变量使用、数学运算、重定向技巧、数组定义、别名设置、获取终端信息的方法、函数及参数的运用、循环和比较等内容。

本篇博文主要向读者介绍shell的环境以及熟悉shell的基本特性
本篇博文中所涉及的所有实例都是在ubuntu15.04版本下演示的

1.shell简介

shell脚本通常是以 #! /bin/bash 为起始的文本文件,有俩中运行脚本的方式,一种是以bash解释器运行

bash script.sh

如果学过python的话,你会感觉和我们用python解释器运行python是很类似的

我们也可以让脚本单独来运行,但前提是我们得赋予脚本文件可执行权限

chmod a+x script.sh
./script.sh

bash中每个命令之间可以使用分号或换行符来分割

cmd1;cmd2;cmd3

2.终端打印

echo是用于终端打印的基本命令
在默认情况下echo在每次调用后会添加一个换行符
我们可以用如下3种方式来使用echo来打印一个字符串

echo "Welcome to Bash"
echo 'Welcome to Bash'
echo Welcome to Bash

以上3中方式都可以打印字符,但是却各有优缺点

1.使用不带引号的echo时,没法显示文本中的;
变量替换在单引号中无效

另一种终端打印方法为printf

printf "Hello,world\n"

3.Bash变量

变量是每种语言中必不可少的部分,同样Bash中也有变量,其就是我们平时接触的环境变量

变量可以通过如下方式赋值

TEST=value

在变量名前加$便可打印

echo $TEST

我们也可以在echo的双引号中引用变量

echo "$TEST"

获得变量值的长度

length=${#TEST}
echo $length

识别当前的shell

echo $SHELL

4.数学运算

shell中我们可以用let (())或[]来执行基本的算数运算

v=1
v1=2
let r=v1+v2
echo $r
res=$[v1+v2]
echo $res

5.重定向

在Bash中我们会经常用到将某些内容重定向到某个文件

将echo显示的内容重定向到temp.txt

echo "Hello,world" > temp.txt

此命令会先将原来temp.txt中的内容清空,然后才写入字符串

将内容追加到目标文件

echo "I am Shreck" >> temp.txt

6.数组

数组是shell非常重要的组成部分,它会借助索引将独立的数据存储为一个集合

数组定义如下

arr=(1,2,3,4)
echo $arr

7.别名

别名就是一种便捷方式,以省去用户输入一长串命令序列的麻烦

alias install='sudo apt-get install'

该命令执行后只是暂时的,要想永久保存还是得写在.bashrc中

8.获取终端信息

tput和stty是当前终端的处理工具

9.函数和参数

function func() { echo "hello"; }

func

当然也可以给参数传递参数

function func() { echo $1; echo $2; }
func hello world

10.循环

for循环

for var in list;
do
commands;
done

for也可以采用C中的格式

for((i=0;i<10;i++))
{

}

while循环

while condtion
do
commands;
done

11.比较

if条件

if condition;
then
commands;
fi

else if

if condition;
then
commands;
else if condition;
then
commands;
else
commands;
fi
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值