bash编程-Shell基础
1. Shell脚本执行方式
- 直接运行,需要在脚本文件头部指定解释器,如#!/bin/bash
./myshell.sh
- 运行时指定shell解释器
bash myshell.sh
2. Shell命令历史
- 查看所有历史命令
history
- 执行上一条历史命令
!!
- 执行历史命令中第n条命令
!n
- 执行历史命令中最后一个以"str"字符串开头的命令
# 不建议使用,尤其是创建、修改、删除文件这样的操作
!str
- 在历史命令中搜索匹配命令
快捷键:control + r
3. 别名
注意:通过命令方式设置别名只对当前shell有效,希望永久生效需要修改~/.bashrc
文件
- 查看别名
alias
- 定义别名(尽量不要与原始命令重名,避免引起不必要的麻烦)
alias 别名='命令'
- 删除别名
unalias 别名
4. 快捷键
- control + a
光标移动到命令行开头 - control + e
光标移动到命令行结尾 - control + c
终止当前命令 - control + u
删除(剪切)光标之前的命令 - control + k
删除(剪切)光标之后的命令 - control + y
粘贴control+u或control+k剪切的内容 - control + r
在历史命令中搜索匹配命令 - control + d
退出当前终端 - control + s
暂停屏幕输出 - control + q
恢复屏幕输出
5. 输入输出与重定向
参考:IO重定向与管道
6. 多命令顺序执行
- ;
命令之间无任何逻辑关系 - &&
逻辑与:前面的命令执行成功,后面的命令才会执行 - ||
逻辑或:前面的命令执行失败,后面的命令才会执行
7. 通配符
- ?
匹配一个任意字符
匹配0个或多个任意字符
- [xyz...]
匹配括号中的一个字符(如:[abc]表示匹配a或b或c) - [x-y]
匹配括号中的范围,常见格式如下
[a-z]:一个小写字母( x )
[A-Z]:一个大写字母( x )
[a-z0-9]:所有小写字母和数字( x )
[0-9]:0-9所有数字
[[:upper:]]:所有大写字母
[[:lower:]]:所有小写字母
[[:alpha:]]:所有字母
[[:digit:]]:0-9所有数字
[[:alnum:]]:所有的字母和数字
[[:space:]]:所有空白字符
[[:punct:]]:所有标点符号
- [^xyz]
匹配指定范围外的任意单个字符,常见格式如下
[^[:upper:]]:非大写字母
[^[:lower:]]:非大写字母
[^0-9]:非数字
[^[:alnum:]]:非字母和数字
8. 特殊符号
- ''
单引号中的所有特殊符号都没有特殊含义 - ""
双引号中的所有特殊符号都没有特殊含义(除$、``、\ ) - `命令`
反引号表示命令结果 - $(命令)
表示命令结果,同`命令`(建议使用这种,避免``与''看不清) - $
$+字符串表示变量,如$PATH - **\ **
转义符
bash编程-Shell基础的更多相关文章
- bash编程-Shell变量
bash中,所有变量的值默认均为字符串. 1. 变量操作 调用变量 $变量 查看变量(所有类型) set 删除变量 unset 变量 2. 变量分类 2.1 自定义变量 自定义变量仅对当前Shell有 ...
- Bash编程(1) 基础
1. 基本知识 (1) $HOME: 当前用户的家目录 (2) `pwd`或$PWD:当前目录 (3) 脚本命名避免使用test,通过type -a test,可以查看所有匹配test的命令 gas@ ...
- [shell] Bash编程总结
由于工作需要,之前的几个月写了一些Bash脚本,主要完成自动测试.打包.安装包等.虽然相比C++编程,要简单.傻瓜,但其在类Unix系统中可以大大提高工作的效率.所以在此对脚本编程过程中一些注意事项进 ...
- shell基础之二 bash特性详解
https://blog.51cto.com/13520779/2093146 合格linux运维人员必会的30道shell编程面试题及讲解:https://blog.51cto.com/oldboy ...
- 【Linux基础总结】Shell 基础编程
Shell 基础编程 重启虚拟机遇到磁盘损坏如何解决 Shell编程中变量的声明.引用及作用域 Shell程序 概述 以文件形式存放批量的Linux命令集合,该文件能够被Shell解释执行,这种文件就 ...
- shell 编程 && bash 简介(shell 变量、shell操作环境、数据流重导向、管线命令、shell script)
如何学习一门编程语言 数据类型 运算符 关键字 1 认识BASH 这个shell linux是操作系统核心,用户通过shell与核心进行沟通,达到我们想要的目的.硬件.核心.用户之间的关系: 原理:所 ...
- Shell基础知识和编程规范
一,Shell环境查看 1.1 查看系统Shell支持情况 [root@linux-node1 ~]# cat /etc/shells /bin/sh /bin/bash /sbin/nologin ...
- bash编程基础
bash变量 变量命名: 1.不能使用程序中的关键字(保留字) 2.只能使用数字.字母和下划线,且不能以数字开头 3.要见名知义 变量类型: 数值型:精确数值(整数),近似数值(浮点型) 字符型:ch ...
- 怎样用 Bash 编程:逻辑操作符和 shell 扩展
学习逻辑操作符和 shell 扩展,本文是三篇 Bash 编程系列的第二篇. Bash 是一种强大的编程语言,完美契合命令行和 shell 脚本.本系列(三篇文章,基于我的 三集 Linux 自学课程 ...
随机推荐
- 常用MFC宏
最近我在用MFC开发一个智能家居监控平台的软件(用到了MSCOMM串口通信控件),当我通过在一个对话框类A中定义另一个对话框类B的对象访问B的public成员时,提示不可访问.后来经过多天的向朋友求救 ...
- System.Runtime.InteropServices.COMException: 检索 COM 类工厂中 CLSID 为 {0002E510-0000-0000-C000-000000000046} 的组件时失败,原因是出现以下错误: 80040154
这个问题困恼我好几天了,今天终于解决. 开始我在网上左百度右google,都没搜到最终的解决方案,今天我把解决方案贴出来,以供大家分享! 网上有些是报80070005错误的,跟我这个80040154错 ...
- UI设计师如何提升审美?
不得不承认,作为一名设计师,独特的审美能力是设计的灵感所在,不过很多刚刚从事UI设计的人,审美能力真的非常的一般,所以心中难免有这样的疑问,我的审美能通过后天的努力提升吗?关于这点,可以非常肯定的说, ...
- Java中终止线程的三种方法
终止线程一般建议采用的方法是让线程自行结束,进入Dead(死亡)状态,就是执行完run()方法.即如果想要停止一个线程的执行,就要提供某种方式让线程能够自动结束run()方法的执行.比如设置一个标志来 ...
- 论坛:获取当前原始请求中的远程IP地址
topic.setIpAddr(ServletActionContext.getRequest().getRemoteAddr());//当前原始请求中的远程IP地址
- python range用法
1. range(n) 相当于枚举 从0<=i<n的整数 增量为1 for i in range(4): print(i) 结果:0 1 2 3 2. range(5,10) 相当于枚举 ...
- echart 3 数据密集时,断点不显示问题
如上图最开始标识的两点是不显示的,配置处理代码如下(series中配置symbolSize: 1,showAllSymbol: true): myChart.showLoading(); $.get( ...
- redis2
一.安装redis 1) 下载redis安装包 可去官网http://redis.io ,也可通过wget命令, wget http://download.redis.io/redis-sta ...
- ManageEngine的EventLog Analyzer许可信息
- python学习 day16 (3月21日)----(正则)
背景:(对程序的伤害) #__author : 'liuyang' #date : 2019/3/21 0021 上午 10:34 #模块和功能之间的关系 #先有的功能 #正则表达式 #time模块 ...