bash:

管理员:  提示符#

普通用户:提示符$

环境变量

A=3(变量是指内存空间,A指的是内存空间的名称-变量标示符)

PS1  \u@\h:\w\$  \u用户名 \h主机名 \w工作目录的路径基名

# echo

引用一个变量: ${变量名};

bash特性:

命令有两种类型:

builtin:在shell中实现的即为内置命令;

外部命令:在文件系统上的某位置有一个与命令名称对应的可执行文件;

如何判断:使用type命令。

shell中的引用:

'':强引用,变量替换不会进行

"":弱引用,能够执行变量替换

``:命令引用,引用命令的执行结果,还有另外一种形式:$(命令)

变量替换:${变量名}

命令历史

bash保存过去曾经执行过的命令列表

当前shell进程保存在缓冲区中;

缓冲区中的命令在shell退出时保存至文件中,家目录的.bash_history。

使用上下箭头可以翻看此前执行过的命令:

命令别名

alias:显示当前shell中定义的所有别名:

# alias 别名='原始命令'

# unalias 别名

bash快捷键

ctrl+a:跳至命令行行首

ctrl+e:   尾

ctrl+u:清除命令行首至当前光标所在处的内容

ctrl+k:清除命令行尾至光标所在处的内容

ctrl+l:清屏,相当于clear命令

ctrl+c:终止当前正在执行的进程

ctrl+z:将当前命令送至后台

bash补全

命令补全:

shell命令:内部,外部

外部:在系统某路径下有一个可执行程序

内部:

PATH:是一组由冒号分割的命令

使用tab键执行补全

路径补全:在给出的打头路径补全;如果没有打头路径,则为当前;

提供编程环境

变量

程序控制

#!/bin/bash

shebang

ELF:

#!/bin/bash

程序=指令+数据

bash的变量

变量的类型:

本地变量:只针对当前shell进程有效,对其子shell以及其他shell都无效;

定义变量:[set]Var_Name="Value"

引用变量:${Var_Name}

撤销变量:unset Var_Name

局部变量:仅对局部代码生效

local Var_Name="vALUE"

环境变量:对当shell进程及其子shell有效;

exprot Var_Name="Value"

Var_Name="Value"

export Var_Name

导出

位置变量:

$1,$2...$n

./learnbash.sh 2 8

特殊变量:

$0:脚本名称本身

$?:上条命令的执行状态返回值0

0:成功

1-255:失效

$$

$!

$#

$*

bash学习记录的更多相关文章

  1. Python学习记录day6

    title: Python学习记录day6 tags: python author: Chinge Yang date: 2016-12-03 --- Python学习记录day6 @(学习)[pyt ...

  2. GIT初始学习记录

    目录 GIT学习记录 配置github与gitlib两个账号 基本操作 git init:初始化仓库 git status:查看仓库状态 git add :向缓存区中添加文件 git commit 保 ...

  3. Git学习记录 力做全网最强入门教程

    目录 Git学习记录 力做全网最强入门教程 什么是GitHub? 什么是Git? Git的配置 Git的安装(只介绍windos操作系统下) Git的配置 至此我们的入门教程到此结束,更新中级教程要等 ...

  4. 区块链Hyperledger Fabric 学习记录(一)开发环境搭建(ubuntu16.04/ubuntu18.04)

    目录 Fabric开发环境搭建 更新说明 教程环境及软件版本 Docker 安装Docker 配置用户组 配置Aliyun Docker加速器 安装docker-compose Go 下载源码 安装源 ...

  5. git原理学习记录:从基本指令到背后原理,实现一个简单的git

    一开始我还担心 git 的原理会不会很难懂,但在阅读了官方文档后我发现其实并不难懂,似乎可以动手实现一个简单的 git,于是就有了下面这篇学习记录. 本文的叙述思路参照了官方文档Book的原理介绍部分 ...

  6. Quartz 学习记录1

    原因 公司有一些批量定时任务可能需要在夜间执行,用的是quartz和spring batch两个框架.quartz是个定时任务框架,spring batch是个批处理框架. 虽然我自己的小玩意儿平时不 ...

  7. Java 静态内部类与非静态内部类 学习记录.

    目的 为什么会有这篇文章呢,是因为我在学习各种框架的时候发现很多框架都用到了这些内部类的小技巧,虽然我平时写代码的时候基本不用,但是看别人代码的话至少要了解基本知识吧,另外到底内部类应该应用在哪些场合 ...

  8. Apache Shiro 学习记录4

    今天看了教程的第三章...是关于授权的......和以前一样.....自己也研究了下....我觉得看那篇教程怎么说呢.....总体上是为数不多的精品教程了吧....但是有些地方确实是讲的太少了.... ...

  9. UWP学习记录12-应用到应用的通信

    UWP学习记录12-应用到应用的通信 1.应用间通信 “共享”合约是用户可以在应用之间快速交换数据的一种方式. 例如,用户可能希望使用社交网络应用与其好友共享网页,或者将链接保存在笔记应用中以供日后参 ...

随机推荐

  1. vmware tools安装过程

    每次通过vmware安装Ubuntu的时候,总是会多多少少出点问题.好容易披荆斩棘把镜像安好了,然而屏幕却只有小小一个,不能显示大屏,我就知道肯定是缺少了vmware tools.于是点击左上方菜单中 ...

  2. OpenMP参考链接

    做个笔记. http://www.cnblogs.com/China3S/p/3500507.html

  3. javascript 表格隔行换色

    用到的知识点: 获取表格元素 tbody 和 rows都是有索引的 这里我们只有一组tbody所以 索引是0 偶数行 索引取余2为0 奇数行 索引取余2不为0 通过 遍历行索引设置相应的颜色. < ...

  4. git的使用学习(九)搭建git服务器

    搭建Git服务器 在远程仓库一节中,我们讲了远程仓库实际上和本地仓库没啥不同,纯粹为了7x24小时开机并交换大家的修改. GitHub就是一个免费托管开源代码的远程仓库.但是对于某些视源代码如生命的商 ...

  5. LeetCode OJ-- Binary Tree Maximum Path Sum ***

    https://oj.leetcode.com/problems/binary-tree-maximum-path-sum/ 给一棵二叉树,路径可以从任一点起,到任一点结束,但是可以连成一个路径的.求 ...

  6. AC日记——郁闷的出纳员 codevs 1286

    郁闷的出纳员 思路: 设工资下限为ko,然后ko--(因为要小于工资下限): 设cur为记录工资增长,降低: 设第i个人的工资为pos: 对应的四种操作: 插入:cur-pos-ko: 增长:cur- ...

  7. 解决dvajs使用BrowserHistory路由模式后仍然会出现hash(哈希)

    在dvajs中,如果你在初始化dva对象的时候不作任何处理,那么你就会发现即使你是用了BrowserRouter来作为Router url中也是会出现#/.解决方法也很简单: 使用前先手动安装下 hi ...

  8. ef core 使用include进行外键连接查询

    在entity framework core中,如果两个实体涉及到外键连接,查询的时候默认是只查自身而不会去查询外键表的.如果想要让查询结果包含外键实体,则需要使用include方法来让查询结果包含外 ...

  9. Linux 中/etc/profile、~/.bash_profile 环境变量配置及执行过程

    环境变量是和Shell紧密相关的,用户登录系统后就启动了一个Shell.对于Linux来说一般是bash,但也可以重新设定或切换到其它的 Shell.对于UNIX,可能是CShelll.环境变量是通过 ...

  10. maxwell简单部署使用

    详细资料可以参考maxwell官网  (mysql + maxwell + kafka + elasticsearch) 说明:本文主要是关于配置maxwell监听mysql的数据修改并实时将修改内容 ...