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. emacs使用http代理打开

    环境:ubuntu 15.10 64bit,emacs 24 ,git http代理搭建方法:http://www.cnblogs.com/liuxuzzz/p/5324749.html 原因: 因为 ...

  2. RadioGroup动态添加RadioButton,并且获得事件

    由于有许多的RadioButton是动态的,不是固定的一些,所以需要在代码中,动态的添加到RadioGroup中,下面是我的实现方法. 1.添加RadioButton到RadioGroup中 Radi ...

  3. 设置ListView的item不能点击

    写了一个ListView结合volley的demo ListView只是用来展示数据,所以不需要点击效果. 网上搜索了下: 可以禁用ListView ListView.setEnabled(false ...

  4. asp.net获取请求的协议头是否启动了SSL(Https)

    方法: HttpContext.Current.Request.IsSecureConnection SLL:True HttpContext.Current.Request.Url.ToString ...

  5. 15 THINGS ALL GIRLS SHOULD KNOW ABOUT THEIR VAGINA

    Here are 15 facts that EVERY GIRL should know about her vagina. Don’t be shy! Your vagina is part of ...

  6. 【音乐App】—— Vue-music 项目学习笔记:歌曲列表组件开发

    前言:以下内容均为学习慕课网高级实战课程的实践爬坑笔记. 项目github地址:https://github.com/66Web/ljq_vue_music,欢迎Star. 当前歌曲播放列表 添加歌曲 ...

  7. eclipse离线安装插件过程

    离线安装插件: 1. help -> install New Softe.. 2. 打开安装插件界面 最后点击,next, 同意事项,重启eclipse.

  8. 转:GRADLE构建最佳实践

    转自: http://www.figotan.org/2016/04/01/gradle-on-android-best-practise/#section-2 随着谷歌对Eclipse的无情抛弃和对 ...

  9. 模拟利器Mockito

    16.3.1  模拟测试概述 目前支持Java语言的Mock测试工具有EasyMock.JMock.Mockito.MockCreator.Mockrunner.MockMaker等,Mockito是 ...

  10. 一些绕过waf的笔记

    转自:http://fuck.0day5.com/archives/622.html 一.各种编码绕过1. ? 1 2 ?id=1 union select pass from admin limit ...