系统相关
首页 > 系统相关> > Shell脚本基础

Shell脚本基础

作者:互联网

Shell脚本基础

变量

什么是变量?

变量即可以变化的量

变量名称注意事项

变量类型

变量操作

单引号与双引号的区别

bash变量类型

本地变量

VAR_NAME=VALUE      //本地变量,作用域为当前shell进程。对当前shell外的其它shell进程,包括当前shell的父shell、子shell进程均无效

local VAR_NAME=VALUE    //局部变量,作用域为当前代码段,常用于函数

环境变量

export VAR_NAME=VALUE   //作用域为当前shell进程及其子进程

[root@node0 ~]# export a=1
[root@node0 ~]# echo $a
1
//启用子进程
[root@node0 ~]# bash
[root@node0 ~]# echo $a
1 #依然生效

位置变量

$1 $2 //用来引用脚本的参数 数字代表位置
shift [num] //使用完后退出,后面向前推进

[root@yqh ~]# cat test.sh
#!/bin/bash
for i in $*;do
echo $1
shift 2
[root@node0 ~]# ./test.sh a b c d e #传递5个参数循环5次,位置1执行参数是a,向后推2个是c,再就是e,e后面没有参数,则再输出2次e完成
a
c
e
e
e

特殊变量

$#      //是传给脚本的参数个数
$0      //是脚本本身的名字
$!      //是shell最后运行的后台Process的PID
$@      //是传给脚本的所有参数的列表
$*      //是以一个单字符串显示所有向脚本传递的参数,与位置变量不同,参数可超过9个
$$      //是脚本运行的当前进程ID号
$?      //是显示上条命令的退出状态,0表示没有错误,其他表示有错误

bash内建环境变量

PATH #寻找命令路径
[yqh@yqh ~]$ echo $PATH
/home/yqh/.local/bin:/home/yqh/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbinSHELL #查看当前shell
[yqh@yqh ~]$ echo $SHELL
/bin/bash

UID #查看当前用户uid
[yqh@yqh ~]$ echo $UID
1000

HISTSIZE #查看可存储历史记录总大小
[yqh@yqh ~]$ echo $HISTSIZE
1000

HOME #查看当前用户家目录
[yqh@yqh ~]$ echo $HOME
/home/yqh

PWD #查看用户当前所在位置
[yqh@yqh /]$ echo $PWD
/

HISTFILE #查看当前用户历史记录文件储存位置
[yqh@yqh /]$ echo $HISTFILE
/home/yqh/.bash_history

PS1 #定义系统提示符的变量
[yqh@yqh /]$ echo $PS1
[\u@\h \W]\$

写脚本的思路

编写流程

shell脚本编程注意事项

标签:脚本,Shell,yqh,基础,echo,shell,bash,变量
来源: https://www.cnblogs.com/yuqinghao/p/14592765.html