SHELL基础知识

SHELL基础知识
shell的定义
在计算机科学中,Shell就是一个命令解释器。
shell是位于操作系统和应用程序之间,是他们二者最主要的接口,shell负责把应用程序的输入命令信息解释给操作系统,将操作系统指令处理后的结果解释给应用程序。

shell的分类基本上shell分两大类:
图形界面shell和命令行shell
(图形界面shell:图形界面shell就是我们常说的桌面
命令行shell:windows系统: com.exe命令提示符
Linux: sh/ ksh/bash/…

SHELL的使用方式:
1、手工方式:逐行输入命令,逐行确认命令
2、脚本方式:脚本方式就是把输入的内容放到一个文件里,然后一起执行
例子:shell脚本示例现在我们来使用脚本的方式来执行以下
#!/bin/bash
#这个是临时脚本
echo ‘hello’
echo ‘world’
脚本执行效果
/bin/bash hello.sh

脚本创建工具:vi/vim
脚本命名:要知道命名的意义,知道这个脚本是干什么用的
脚本里的注释:
单行注释:#内容…
多行注释(两种):<<!..!和:<<字符…字符

脚本的开发规范
1、脚本名要有意义,后缀名是.sh
2、脚本文件首行必须是脚本解释器(#/bin/bash)
3、脚本常见的执行方式:bash脚本名
4、脚本的执行规范:从上到下,依次执行
5、[]中括号两端要有空格,不然执行会报错

变量
shell中变量的三大类:
全局变量、局部变量、shell内置变量

本地变量算什么?
本地变量就是在当前的某个环境下才能生效的变量,作用范围小
本地变量分为两种:普通变量和命令变量
普通变量有三种:
1、变量名=变量值 重点:变量值必须是一个整体,中间没有特殊字符
举例:
ysh=hello
echo ysh
输出值为ysh 有值
2、变量名=‘变量值’ 重点:我看到的什么就输出什么
举例:
ysh2=‘hello’
echo y s h 2 输 出 值 为 h e l l o 3 、 变 量 名 = “ 变 量 值 ” 重 点 : 如 果 变 量 值 范 围 内 , 有 可 以 解 析 的 变 量 A , 那 么 首 先 解 析 变 量 A , 将 A 的 结 果 和 其 他 内 容 组 合 成 一 个 整 体 , 重 新 赋 值 给 变 量 B 举 例 : y s h 1 = ‘ h e l l o w o r l d ’ y s h 2 = ‘ c o n − ysh2 输出值为hello 3、变量名=“变量值” 重点:如果变量值范围内,有可以解析的变量A,那么首先解析变量A,将A的结果和其他内容组合成一个整体,重新赋值给变量B 举例: ysh1 = ‘helloworld’ ysh2 = ‘con- ysh2hello3=AAABysh1=helloworldysh2=conysh1’
单引号输出结果为con- y s h 1 y s h 2 = “ c o n − ysh1 ysh2 = “con- ysh1ysh2=conysh1”
双引号输出结果为con-helloworld

变量命令= ( 命 令 ) d i r 2 = (命令) dir2= dir2=(pwd)
echo $dir2
输出内容为/home/ysh

全局变量
全局变量是什么?
全局变量就是在当前系统所有的环境中都能生效的变量
env 查看所有的全局变量
定义全局变量:
1、方式1
变量=值 export 变量
举例:
ysh=hello666
export ysh
env | grep ysh
输出值为 ysh =hello666
2、方式2(最常用)
export ysh=$(pwd)
env | grep pwd
输出结果为 pwd=/home/ysh

变量名的标准使用方式
echo y s h e c h o &quot; ysh echo &quot; yshecho"ysh "
echo y s h e c h o &quot; {ysh} echo &quot; yshecho"{ysh}"
输出结果都为一样
取消变量名
unset ysh
env | grep ysh

SHELL内置变量
符号和意义
$0 获取当前执行的shell的脚本文件名
$n 获取当前执行的shell脚本的第n个参数值
$# 获取当前shell命令行中参数的总个数
$? 获取执行上一个指令的返回值(0为成功,非0为失败)

字符串的精确截取
${变量名:起始位置:截取长度}
符号和意义
${file:0:5}从第1个字符开始,截取5个字符
${file::5}从第1个字符开始,截取5个字符
${file:5:5}从第6个字符开始,截取5个字符
${file:5}从第6个字符开始,截取后面所有的字符
f i l e : 0 − 5 从 倒 数 第 5 个 字 符 开 始 , 截 取 后 面 所 有 的 字 符 {file:0-5}从倒数第5个字符开始,截取后面所有的字符 file:055{file:0-6:3}从倒数第6个字符开始,截取之后的3个字符

默认值
场景一:
场景二:

表达式

计算表达式
1、$(())中只能用±*/和()运算符,并只能做整数运算
举例:
echo $((100/2))
输出结果为50
2、let
表达式必须为一个整体,中间不能出现空格等特殊字符
举例:
i=1
let i=i+7
echo $i
输出结果为8

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值