Linux系统基础之七:Shell编程基础上

Linux系统-Shell编程

一.Shell基础

(1)shell概述




(2)shell的分类








(2)shell脚本的执行方式


-e 选项的反斜线:

范例:

\e[1; :开启颜色输出
\e[0m :关闭颜色输出



.sh:告诉系统,写的是bash脚本
建议所有脚本文件加上.sh

所有shell脚本第一行必须加上:#!/bin/bash



4.Windows编译的shell脚本放入Linux执行:

Windows中字符格式与Linux不同,编译的shell脚本文件转入Linux后需要用命令转换格式:

dos2unix [shell脚本名]

(需要安装dos2unix:yum -y install dos2unix)

范例:
dos2unix Tetris.sh


二.Bash基本功能

(1)历史命令与命令补全

历史命令:
history [选项][历史命令保存文件]
选项:
-c:清空历史命令
-w: 把缓存中的命令写入指定文件

默认保存目录:[家目录]/.bas_history



!412 :执行第412行的历史命令
!!:执行上一个历史命令
!ser:执行上一个以字符串ser开头的历史命令

(2)命令别名与常用快捷键

命令别名:
alias [命令别名]=[命令]
alias vi=vim (命令vi相当于vim)


root==[家目录]


快捷键:


(3)输入输出重定向





在Shell中,0表示标准输入,1表示标准输出,2代表错误输出

输出重定向 :将原本输出到屏幕的结果,输出到文件里面。



输出重定向范例:

首先,必须是有输出流的命令。

date >> shuchu.log
(将date的输出结果以追加方式写入了shuchu.log文件里面)

datet 2>> shuchu.log
(将date天的报错输出结果以追加方式写入了shuchu.log文件里面)

输出重定向命令推荐

1.统一保存
命令 &>>shuchu2.log
(不管命令对错,都以追加方式将输出结果保存在shuchu2.log中)
2.分开保存
命令 >>shuchu2.log 2>>defult.log
(将正确命令输出保存在shuchu2.log 错误输出保存在defult.log中)


3.将输出结果扔进垃圾箱,(不看输出结果)
ls &>/dev/null




wc<文件名 把文件名作为输入

(3)多命令顺序执行与管道符

多命令顺序执行:


范例:
1.
ls;cd/user;date

2.
ls && echo “yes”
lsl && echo "yes"
ls && echo “yes”|| echo "no"
lsl && echo “yes”|| echo "no"

管道符:


范例:
df -h | grep sdb5 (只查询设备名sdb5磁盘的相关信息)



(4)通配符和其他特殊符号


通配符用于匹配文件名



关于$()、$
echo "date"
echo "$(date)"
echo "$date"

三.Bash 的变量

(1)用户自定义变量



变量默认为字符串变量


如:time=$(date)








(2)环境变量

export



查询所有 环境变量:
env






(3)位置参数变量



$1、$2、$3、... ...、${n}、代表用户接下来将输入的第1,2,3,... ...,n个参数

比如:

canshu.sh
echo $1
echo $2
echo $3

执行canshu.sh a b c 后,输出为:

a b c




(4)预定义变量


系统接收用户输入



范例:

read.sh
read -p "input your name" name

echo “name is $name"
输出结果:


四.Bash 的变量的数值运算与运算符

1.变量的声明



declare -i cc --------------->将变量cc声明为整数型变量
declare -p cc --------------->查询变量cc类型


CC声明为整数类变量,并且赋值为98




数值运算:



推荐使用第三种:

$((运算式 ))




2.变量测试


(1)变量的测试




猜你喜欢

转载自blog.csdn.net/chuxuan909/article/details/53980965