shell基础篇:Bash特性和shell变量

shell基础篇


一、Bash特性

bash基础特性

● bash是一 个命令处理器,运行在文本窗口中,并能执行用户直接输入的命令

● bash还能从文件中读取linxu命令,称之为脚本

● bash支持通配符、 管道、命令替换、条件判断等逻辑控制语句

关于历史记录的简单用法

bash有诸多⽅便的功能,有助于运维⼈员提升⼯作效率

history #命令,查看历史命令记录,注意【包含⽂件中和内存中的历史记录】

最多能看到1000行

~/.bash_history里存放用户执行的历史命令

我们可以vim ~/.bash_history查看一下

echo $HISTFILE可以看到文件的地址

history #命令 以及参数

-c: 清空内存中命令历史;

-r:从⽂件中恢复历史命令

数字 :显示最近n条命令 history 10

这时候我们history,发现历史被清空了

但是~/.bash_history里的历史还是存在的,所以我们可以用

history -r ~/.bash_history

进行恢复

调用历史记录命令

!历史id,快速执行历史命令

!!可以用来执行上次的命令,或者用上方向键来执行上次命令

bash特性汇总

  • ⽂件路径tab键补全
  • 命令补全
  • 快捷键ctrl + a,e,u,k,l
  • 通配符
  • 命令历史
  • 命令别名
  • 命令⾏展开

二、shell变量

变量含义

变量是暂时存储数据的地⽅,是⼀种数据标记(房间号,标记了客⼈所在的位置),数据存储在内容空间,通过调⽤正确的变量名字,即可取出对应的值。

shell变量名规则

名称定义要做到⻅名知意,切按照规则来,切不得引⽤保留关键字(help检查保留字)

  • 只能包含数字、字⺟、下划线
  • 不能以数字开头
  • 不能⽤标点符号
  • 变量名严格区分⼤⼩写

例:

有效的变量名:

NAME_CHAOGE

_chaoge

chaoge1

chaogE1

Chao2_ge

⽆效的变量名:

?chaoge

chao*ge

chao+ge

定义shell变量

单引号变量,不能识别特殊语法

双引号变量,能识别特殊符号

变量定义与赋值,注意变量与值之间不得有空格

powershell 复制代码
name="wang"
变量名
变量类型,bash默认把所有变量都认为是字符串

bash变量是弱类型,⽆需事先声明类型,是将声明和赋值同时进⾏

变量替换/引⽤

powershell 复制代码
echo $name #可以省略花括号

变量的作⽤域

本地变量,只针对当前的shell进程

powershell 复制代码
pstree  #检查进程树
  • 环境变量,也称为全局变量,针对当前shell以及其任意⼦进程,环境变量也分⾃定义 、内置两种环境变量
  • 局部变量,针对在 shell函数 或是 shell脚本 中定义

⾃定义变量

powershell 复制代码
变量赋值: varName=value
变量引⽤: ${varName} 、 $varName
单引号,识别为普通字符串
相关推荐
jyfool4 小时前
Ubuntu 远程桌面配置踩坑实录:从 TightVNC 到 x11vnc 的折腾之旅
linux·运维·ubuntu
MediaTea4 小时前
Python:collections.Counter 常用函数及应用
开发语言·python
安当加密4 小时前
基于 RADIUS 的 Linux 服务器双因子认证:从 FreeRADIUS 到轻量级 ASP 方案的演进
linux·运维·服务器
LawrenceLan4 小时前
37.Flutter 零基础入门(三十七):SnackBar 与提示信息 —— 页面反馈与用户交互必学
开发语言·前端·flutter·dart
李昊哲小课5 小时前
Python json模块完整教程
开发语言·python·json
易醒是好梦5 小时前
Python flask demo
开发语言·python·flask
66清小风5 小时前
服务器安装操作系统报X or window manager startup failed, falling back to mode
linux·kylin
double2li6 小时前
linux/unix 段错误捕获【续】
linux·运维·服务器·网络·unix