简述shell,shell的简单用法

什么是shell?
Shell是在Linux内核与用户之间的解释器程序,通常指的是bash,负责向内核翻译及传达用户/程序指令

shell的使用方式:
1.交互执行指令:人工干预,执行效率底。
2.非交互执行指令:安静地在后台执行,执行效率高,方便写脚本。
若需要临时使用另一种Shell环境,可以直接执行对应的Shell解释器程序,比如只要执行ksh可以切换到ksh命令行环境。

shell中的快捷键
在这里插入图片描述shell变量扩展知识
1
‘ ’ 单引号 界定范围 可以屏蔽特殊符号
“ ” 双引号 界定范围
``反撇号 获取指令的执行结果 ,或者使用 ( ) a = d a t e 定 义 变 量 时 如 果 使 用 命 令 则 不 会 直 接 识 别 a = ‘ d a t e ‘ 使 用 反 撇 号 可 以 将 命 令 的 执 行 结 果 赋 值 给 变 量 a = () a=date 定义变量时如果使用命令则不会直接识别 a=`date` 使用反撇号可以将命令的执行结果赋值给变量 a= ()a=date使a=date使a=(date) 效果同上

2
使用read指令,将脚本变成交互式,使脚本可以从用户那里得到信息
用法:read -p “提示的信息” 变量名
#!/bin/bash
read -p “请输入用户名:” u
useradd u r e a d − p " 请 输 入 密 码 : " p e c h o " u read -p "请输入密码:" p echo " ureadp""pecho"p" | passwd --stdin $u
执行该脚本时第一个提示输入的名称会存在变量u中,第二个提示输入的会存在变量p中

stty -echo 屏蔽回显
stty echo 回复回显
改良后的脚本,输入密码时屏蔽回显
#!/bin/bash
read -p “请输入用户名:” u
useradd u s t t y − e c h o r e a d − p " 请 输 入 密 码 : " p s t t y e c h o e c h o " u stty -echo read -p "请输入密码:" p stty echo echo " usttyechoreadp""psttyechoecho"p" | passwd --stdin $u

3,
export 定义全局变量,可以让子进程使用父进程定义的变量
export b=20 创建变量b的同时发布为全局效果
export a 将已有的变量发布为全局效果
export -n a 取消变量的全局效果

运算 加 减 乘 除 取余(求模)
1,
expr 可以计算数字并输出,运算符号两边要有空格
expr 3 – 1 减法
expr 2 + 2 加法
expr 2 '’ 2 乘法
expr 2 * 2 使用乘法时,这里使用\代表转义符号,可以屏蔽之后1个字符的特殊效果
expr 4 / 2 除法
expr 10 % 3 取余数
2,
方法二用$[ ]结构,配合echo输出,同样可以实现加 减 乘 除 取余
echo $[1+1]
echo $[2-1]
echo $[2
2]
echo $[4/2]
echo $[5%3]

3,
使用let指令,不输出计算结果,专用于创建变量,或者对变量进行自增减
用法一:创建变量
let a=1+1 创建变量a
用法二: 变量的自增减
常规写法 主流写法
let a=a+1 let a++ 变量的自增减,将变量a的值加1
let a=a-1 let a-- 变量a减1
let a=a+2 let a+=2 变量a加2
let a=a-2 let a-=2 变量a减2
let a=a10 let a=10 变量a乘以10

猜你喜欢

转载自blog.csdn.net/wangboyujiayou/article/details/109055168