Shell的作用 —— 命令解释器
Bash 是一个用于GNU操作系统的shell,也就是命令解释器,这个名字是Borune-Again SHell的缩写.
重定向
重定向输入 | < | 从指定的文件读取数据,而不是从键盘输入 |
重定向输出 | > | 将输出结果保存到指定的文件(覆盖原有内容) |
>> | 将输出结果追加到指定的文件 | |
标准错误输出 | 2> | 将错误信息保存到指定的文件(覆盖原有内容) |
2>> | 将错误信息追加到指定的文件中 | |
混合输出 | &> | 将标准输出、标准错误的内容保存到同一个文件中 |
管道操作符号”|”
将左侧的命令输出结果,作为右侧命令的处理对象
[root@localhost ~]# grep "bash$" /etc/passwd
root:x:0:0:root:/root:/bin/bash
teacher:x:500:500:BENET Linux Teacher:/home/teacher:/bin/bash
[root@localhost ~]# grep “bash$” /etc/passwd | awk -F: ‘{print $1,$7}’
root /bin/bash
teacher /bin/bash
Shell变量
系统变量(位置变量,预定义变量)
# Shell常见的变量之一系统变量,主要是用于对参数判断和命令返回值判断时使用,系统变量详解如下:
$0 当前脚本的名称;
$n 当前脚本的第n个参数,n=1,2,…9;
$* 当前脚本的所有参数(不包括程序本身);
$# 当前脚本的参数个数(不包括程序本身);
$? 令或程序执行完后的状态,返回0表示执行成功;
$$ 程序本身的PID号。
环境变量
#Shell常见的变量之二环境变量,主要是在程序运行时需要设置,环境变量详解如下:
PATH 命令所示路径,以冒号为分割;
HOME 打印用户家目录;
SHELL 显示当前Shell类型;
USER 打印当前用户名;
ID 打印当前用户id信息;
PWD 显示当前所在路径;
TERM 打印当前终端类型;
HOSTNAME 显示当前主机名;
PS1 定义主机命令提示符的;
HISTSIZE 历史命令大小,可通过 HISTTIMEFORMAT 变量设置命令执行时间;
RANDOM 随机生成一个 0 至 32767 的整数;
HOSTNAME 主机名
用户变量(自定义变量)
# 常见的变量之三用户变量,用户变量又称为局部变量,主要用在Shell脚本内部或者临时局部使用,系统变量详解如下:
a=rivers 自定义变量A;
Httpd_sort=httpd-2.4.6-97.tar 自定义变量N_SOFT;
BACK_DIR=/data/backup/ 自定义变量BACK_DIR;
IPaddress=10.0.0.1 自定义变量IP1;
赋值时使用的引号
双引号:允许通过$符号引用其他变量值
单引号:禁止引用其他变量值,$视为普通字符
反撇号:命令替换,提取命令执行后的输出结果
整数变量的运算
expr 变量1 运算符 变量2 [运算符 变量3] ...
常用运算符
加法运算:+
减法运算: -
乘法运算: \*
除法运算: /
求模(取余)运算: %
案例welcome.sh
1.编写welcome.sh
#!/bin/bash
echo "Welcome!"
echo "My hostname is ${BEGINCOLOR}`hostname`$ENDCOLOR"
echo "IP address is ${BEGINCOLOR} `ifconfig ens160 |grep -Eo '([0-9]{1,3}\.){3}[0-9]{1,3}'|head -n1 ` $ENDCOLOR"
echo "OS version is ${BEGINCOLOR} `cat /etc/redhat-release ` $ENDCOLOR"
echo "CPU type is ${BEGINCOLOR}`lscpu|grep "Model name" |cut -d: -f2|tr -s " " `$ENDCOLOR"
echo "Kernel version is ${BEGINCOLOR} `uname -r ` $ENDCOLOR"
echo "Time is `date '+%Y%m%d %H:%M:%S'`"
2.运行
[root@hfj ~]# . /root/welcome.sh
标签:脚本,Shell,变量,自定义,编程,echo,root,bash
From: https://blog.csdn.net/weixin_55731208/article/details/137032471