shell学习之路

一、Shell相关介绍

1.1 定义

  • 命令解释器 解释用户输入的命令
# 作用
- 自动安装系统软件和应用
- 自动优化系统和软件
- 自动启动和停止服务
- 日志管理
- 数据分析
- 代码测试

1.2 分类

(1)B shell

  • sh
  • ksh
  • bash

(2)c shell

  • csh
  • tcsh
#获取系统中所有的shell
[root@web01 ~]#cat /etc/shells
/bin/sh
/bin/bash
/usr/bin/sh
/usr/bin/bash

#获取当前系统的shell
[root@web01 ~]#echo $SHELL
/bin/bash

二、shell基础

2.1 创建shell规范

  • 存放在统一的目录 方便做自动化管理 先要有规范/server/scripts
  • 脚本结尾必须以.sh结尾
  • 脚本的开头以#!/bin/sh bash结尾 如果不指定则用默认的shell解释
  • 脚本中要有注释
  • 脚本中的符号一次性书写完成 必须使用英文,不能使用中文

2.2 执行脚本的四种方法

  • 相对路径执行
[root@web01 test]#ll
total 4
-rw-r--r-- 1 root root 31 Apr 27 23:46 test.sh
[root@web01 test]#sh test.sh
hello world
  • 以绝对路径执行
[root@web01 test]#pwd
/test
[root@web01 test]#sh /test/test.sh 
hello world
  • 使用父shell执行
[root@web01 test]#source test.sh			#相对路径
hello world
[root@web01 test]#source /test/test.sh		#绝对路径
hello world
  • 管道后置执行
[root@web01 test]#cat test.sh|bash			#相对路径
hello world
[root@web01 test]#cat /test/test.sh|bash	#绝对路径
hello world

三、变量

  • 环境变量(全局变量) 针对所有的shell生效 国法
  • 普通变量(局部变量) 针对当前的Shell生效 家规

3.1 环境变量

(1)开机顺序文件加载顺序

1️⃣./etc/profile
2️⃣.bash_profile,判断中间的.bashrc是否存在,存在即执行,不存在则往下执行
3️⃣.bashrc中是否存在./etc/bashrc是否存在
在这里插入图片描述

(2)环境变量的设置与取消

  • 定义变量
export 变量								#定义临时变量
加export表示所有窗口生效,不加表示当前窗口生效

将上面的语句写入到/etc/profile文件夹中		#定义永久变量
source /etc/profile
  • 查看变量
    • echo $变量名称
  • 取消变量
    • unset $变量名称 取消环境变量
      注意:后面执行的会覆盖前面的

3.2 核心的位置变量

  • $0 获取脚本名称
  • $n 表示脚本的第n个参数 n为数字
  • $# 表示传参的个数,控制传参的个数
  • $* 表示传参的所有参数 不加双引号和$@相同 加上双引号 表示为一个参数 脚本中相同,循环体中不同
  • $@ 表示传参的所有参数 不加双引号和$*相同 加上双引号,表示为正常的传参
  • $? 表示上一条命令执行的结果 0为成功 1为失败 返回值0-255之间 可以自定义返回值
  • $$ 表示当前脚本的PID
  • $! 获取上一个在后台运行脚本的pid

(2)变量的定义方法

1️⃣变量分类

  • 永久的 需要写入/etc/profile
  • 临时的 使用export 声明即可

2️⃣变量的定义方式

  • 字母 数字 下划线的组合
  • 以字母或者下划线开头
  • 等号两端不允许有空格
  • 名称见其名知其意,不要命令冲突
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值