2、shell输入和输出

shell脚本:
1、用途:完成特定的、较复杂的系统管理任务
2、格式:集中保存多条Linux命令,普通的可执行的文本文件
3、执行方式:按照预设的顺序依次解释执行

执行shell脚本的方式:
1、bash test.sh
2、./test.sh
    #需要写解析器即脚本中添加解析器即第一行 #! /usr/bin/bash
    #需要给脚本设置执行权限


shell变量的种类:
1、用户自定义变量:由用户自己定义、修改和使用
2、预定义变量:Bash预定义的特殊变量,不能直接修改
3、位置变量:通过命令行给程序传递执行参数

定义新变量:
1、变量名要以英文字母或下划线开头,区分大小写
2、格式: 变量名=变量值
查看变量的值:
格式:echo $变量名
    注: echo "this is ${name}age 18"

从键盘输入内容为变量赋值:
格式  read -p "please input your name: " name   name是变量名

结合不同的引号为变量赋值
双引号"" :解析变量,允许通过$符号引用其他变量值
单引号'' :不解析变量,$视为普通字符
反引号`` :将引号内的内容当作命令,然后可赋值给某个变量
    注:键盘上Esc正方的那个符号

删除变量
unset 变量名

位置变量
表示为$n,n为1~9之间的数字,一个脚本最多传递9个参数
./test.sh one two three four... $1代表one,$2代表two 
sh文件中使用时为:
echo $1

预定义变量对位置变量的补充
表示形式:
$#:获取位置参数的个数
$*:所有位置参数的内容
$?:上一条命令执行后的返回的状态,当返回状态值为0时表示执行正常,非0值表示执行异常或出错
$0:获取当前执行的进程/程序 名
示例:
    ls
    if [[ $? == 0 ]]; then
        echo '正确执行'
    else    
        echo '程序出错'
    fi

从键盘获取参数进行加减乘除
第一种语法
total=$(($1+$2)) 赋值用法
echo $total     
echo $(($1-$2))
echo $(($1*$2))
echo $(($1/$2))  舍去法取整
echo $(($1%$2))
赋值:total=$(())

扫描二维码关注公众号,回复: 4162879 查看本文章

第二种语法
格式:expr 变量1 运算符 变量2 ...[运算符 变量n]
    注:变量与运算符之间必须用空格隔开
expr的常用运算符
加:+ 
减:- 
乖:\* 
除:/ 
求模(取余)运算:%
    注:除法结果为整数,舍去法取整
赋值用法:
    total=`expr $1 + $2`
    注:因为expr是命令故必须用反引号才能给变量赋值


shell的输入输出
echo -e "aaa\nbbb"
    注:-e 识别\n(换行符),且在行尾自动生成换行符
    也能解析一些颜色代号,使输出的字变色
    示例:
    echo -e "\033[32;40m[test]\033[0m"    [test]  字会变绿色

echo -n "ccc\nbbb"
    注:-n 识别\n(换行符),在行尾不自动换行
示例:
    echo -n "please input your name:"
    read name
    echo $name

    上述更简单方法为:
    read -p "please input your name:" name
    echo $name

echo  可以输出一行空行
    
字符界面前景颜色
echo -e "\033[32;40m[test]\033[0m"
说明:
\033[前景颜色;背景颜色m
\033[0m  0m指恢复到系统默认的颜色

字体颜色
30设置黑色前景
31设置红色前景
32设置绿色前景
33设置棕色前景
34设置蓝色前景
35设置紫色前景
36设置青色前景
37设置白色前景
背景颜色
40设置黑色背景
41设置红色背景
42设置绿色背景
43设置棕色背景
44设置蓝色背景
45设置紫色背景
46设置青色背景
47设置白色背景


其它输入命令
cat
tee  通过管道,将输出的结果保存到另一个文件中,即边输入边保存
more  查看文件时使用管道服务加上more时文件查看不完时可以一行一行的查看
head
tail
nl 示例: nl /etc/passwd 带行号的将内容输出

cat示例:
cat<<x 

    aaaaa
x
说明:原样输出,x可以是任意字母,有标记即可
    linux下vim编辑器中一个table代表8个空格,默认应该是4个故只能一个一个打即可


 

猜你喜欢

转载自blog.csdn.net/dawnsmile113/article/details/84299753