Bash Shell

Linux系统的合法shell都写入/etc/shells这个文件,默认使用的shell版本称为“Bourne Again Shell(简称bash)”

用户登录时系统会分配一个shell让用户工作,登陆取得的shell记录在/etc/passwd文件中

......(下面省略)......

bash的优点

  • 命令记忆能力

命令记录在~/.bash_history中,记录前一次登陆以前执行过的命令。而本次登陆所执行的命令都被暂存在临时内存中,当成功注销系统后,该命令记忆才会记录到.bash_history中。该文件能直接显示输入的密码。

  • 命令与文件补全([Tab]按键)
  • 命令别名设置(alias)
  • 作业前后台控制
  • shell script

命令的执行([Enter])

输入多行命令:“\[Enter]”会转义回车键,下一行会出现>符号,可以继续输入命令。

变量

变量的显示

变量的赋值

等号两边不能直接接空格符,若有空格符可使用双引号、单引号括起来或转义空格符。

双引号内的特殊字符保有原本特性,单引号内的特殊字符仅为纯文本

取消变量的方法为使用“unset 变量名称”。

unset 变量名称

查看环境变量

env

查看所有变量(含环境变量与自定义变量)

set

自定义变量转成环境变量

export 变量名称

子进程仅继承父进程的环境变量,不会继承父进程的自定义变量

常见环境变量

  • HOME——用户的主文件夹
  • SHELL——默认是/bin/bash
  • PATH——文件命令查找路径
  • LANG——语系
  • PS1——命令提示符,可在 ~/.bashrc 中设置
  • $——此 shell 的线程号PID
    echo $$
  • ?——“上个执行命令”的“回传码”
    如果上个命令成功执行,则会回传一个 0 值;如果上个命令发生错误,就会回传一个非 0 的“错误代码”。
  • OSTYPE,HOSTTYPE,MACHTYPE——主机操作系统与CPU等级

键盘读取变量

-t  接等待的秒数,超时则自动略过该命令

声明变量类型

declare [-aixr] 变量名称

-a  数组类型

-i  整数类型

-x  变为环境变量

-r  只读类型,无法更改、重设

将 - 变为 + 进行“取消”操作

变量类型默认为“字符串”

【Linux】bash shell学习的更多相关文章

  1. Linux Bash Shell学习笔记

    参数扩展: 1.被名称引用的参数称作变量2.被数字引用的参数称作位置参数3.被特定符号引用的参数具有特殊的含义和用途,被称作Bash的特殊内部变量引用. 基本参数扩展:字符$会引导参数扩展.大括号是可 ...

  2. linux BASH shell设置字体与背景颜色

    linux BASH shell下设置字体及背景颜色的方法. BASH shell下设置字体及背景颜色  echo -e "\e[31mtest\e[41m"  \e[30m 将字 ...

  3. 【Linux】linux bash shell之变量替换::=句法、=句法、:-句法、-句法、=?句法、?句法、:+句法、+句法

    linux bash shell之变量替换::=句法.=句法.:-句法.-句法.=?句法.?句法.:+句法.+句法   linux bash shell之变量替换::=句法.=句法.:-句法.-句法. ...

  4. Linux Bash Shell常用快捷键

    Linux Bash Shell常用快捷键 table { margin: auto } 快捷键 功能 tab 补全 ctrl + a 光标回到命令行首 ctrl + e 光标回到命令行尾 ctrl ...

  5. Linux bash shell All In One

    Linux bash shell All In One Linux https://tinylab.gitbooks.io/shellbook/content/zh/chapters/01-chapt ...

  6. linux bash shell & lsof & grep & ps

    linux bash shell & lsof & grep & ps lsof list all open files # lsof & grep $ lsof -P ...

  7. Linux下Bash shell学习笔记

    原文地址: http://www.cnblogs.com/NickQ/p/8870423.html 1.shell下没有变量类型和定义的概念. 变量直接使用不用定义 所有值都视为字符串. 在对变量取值 ...

  8. linux bash shell 流程控制(if/else )

    本文转自:http://blog.csdn.net/flowingflying/article/details/5069646 本文也即<Learning the bash Shell>3 ...

  9. bash shell学习-实践 (自己实现一些小工具)

    The poor starve while the rich feast. "穷人饥肠辘辘,富人大吃大喝" 参考资料:鸟哥的Linux私房菜 基础学习篇(第三版)  Linux S ...

随机推荐

  1. ssh中的 Connection closed by ***

    另一台电脑的 mac/windows10/win7 都可以连接,就这台电脑不可以,但是能 ping 通, ssh 时总是 Connection reset by xxx 或 Connection cl ...

  2. Python: 字典应用题

    Write a program to read through the mbox-short.txt and figure out who has sent the greatest number o ...

  3. 用命令bat打开某个文件或文件夹

    打开文件或文件夹可以用start命令,start命令会根据文件关联的程序自动调用关联的程序打开文件和文件夹. 可以用记事本写如下命令,之后改扩展名为.bat即可 打开文件夹 start "& ...

  4. React Native的键盘遮挡问题(input/webview里)

    2017-06-15 1:使用keyVoaidView来解决 注意要设置behavio=“absolute”,哎.记性差 好像拼错了 2:使用下面的代码,监听键盘,然后将webView拉高就可以了 i ...

  5. linux服务器安装brook服务端 使用brook客户端

    既然你已经找到了此文章,说明已经知道brook的用途了,不做介绍,下面讲安装方法: 连接服务器,随便cd一个安装目录,例如: mkdir brook && cd brook 2.进re ...

  6. java GUI 返回图片源码

    返回图片源码,重开一个类粘贴即可 package cn.littlepage.game; import java.awt.Image; import java.awt.image.BufferedIm ...

  7. L2-021 点赞狂魔

    会set的基础用法就可以A了,虽然是L2题,但是不难,代码如下,很好理解,set在这里不解释了自己去网上查一下就明白了: #include<stdio.h> #include<str ...

  8. Windows下pipenv将虚环境文件的位置设置在项目根目录下

    在windows下使用pipenv shell时,虚拟环境文件夹会在C:\Users\Administrator\.virtualenvs\目录下默认创建,为了方便管理,将这个虚环境的文件的位置更改一 ...

  9. C语言中的多线程编程

    很久很久以前,我对C语言的了解并不是很多,我最早听说多线程编程是用Java,其实C语言也有多线程编程,而且更为简单.方便.强大.下面就让我们简单领略一下Unix C语言环境下的多线程编程吧! 下面先看 ...

  10. Qt的Radio Button(单选按钮)

    1 在UI界面中加入控件 2 对QRadioButton控件进行分组 QRadioButton的分组有多重方法,如采用组合框.QWidge等,下面介绍采用QButtonGroup方法来实现分组,好处是 ...