zoukankan      html  css  js  c++  java
  • 认识和学习bash

    认识Bash这个Shell

    查看linux下shells:

    [shichaogeng@study etc]$ vim /etc/shells

     

    查看登入时取得到的shell:

    [shichaogeng@study etc]$ vim /etc/passwd

    其中,root用户取得的是/bin/bash,为linux预设shell,有以下几个优点:

    ~./bash_history 记录指令历史
    
    c[tab]查找以c开头的指令
    
    alias 设置查询别名
    
    shell scripts
    
    通配符(wildcard)

    查询是否bashshell内建指令:

    [shichaogeng@study ~]$ type cd

    指令下达与快速编辑

    命令太长可以利用Enter来换行(转义)继续输出

    ctrl+u 向前删除

    ctrl+k 向后删除

    ctrl+a 跑到最前端

    ctrl+e 跑到最后端

    Shell的变量

    变量的取用与设定:echo,变量的设定规则unset

    变量的取用 echo $变量名 或者 echo ${变量名},例如:

    用等号设定变量名=

    注意,变量设定要符合以下规则哦:

    1.用等号连接

    myname=VBIRD

    2.=两边不能加空格

    3.只能英文和数字组成,并数字不能开头(试了下,下面的好像不太符合啊)

    4.变量内容若有空格,可以用"或'括起来()注意要成对出现哦,但

    双引号的特殊字符如$,可保持原有特性(即变量),如:

    单引号的特殊字符仅文本输出,如:

    5.用转义特殊字符到原来的意义

    6.借用其他指令,用反引号`指令`或者$(指令)如:

     

    那么,如何进入当前核心驱动模块的目录?:

    其中,被``包起来的内容会优先执行

    7.可用"$变量名"或$(变量名)来累加内容(PATH用:来分隔),如:

    PATH="$PATH":/home/bin
    PATH=${PATH}/home/bin

    8.使用export使变量变成环境变量

    export myname

    怎么样,看懂了吗,其中bash表示进入子程序

    9.一般大写字符为环境变量,自定义为小写(自己决定咯)

    10.取消变量设定,用unset 变量名称

    环境变量的功能

    用env查看环境变量和常见的环境变量说明

    [shichaogeng@study ~]$ env

    使用set来观察所有变量,包括环境和自定义变量

    PS1:命令提示符的设定(可以man bash来查看PS1的相关说明)

    其中u代表目前使用者账号

    h代表主机在第一个小数点之前的名字

    W代表工作目录名,最后一节目录

    $代表提示字符,root为#,其他为~

    $:本shell的线程代号(pid)

    ?:上个指令执行锁回传的值

    export自定义变量转环境变量

    环境变量与自定义变量有什么区别啊,需要来回转换,哈哈,主要是父程序的环境变量能被子程序所使用啊

    因为子程序只会继承父程序的环境变量,所以需要export之后自定义变量编程环境变量,子程序才能使用啊

    export展示所有环境变量:

    变量的键盘读取,数组和宣告

    read

    read -pt variable
    其中,-p代表提示;-t代表超时时间

    decalre/typeset

    decalre [-aixr] variable
    -a:将variable变量定义为array数组
    -i:将variable变量定义为integer类型
    -x:将variable变量声明为环境变量
    r:将variable变量设定为readonly,该变量不能被更改,也不能unset

    解释:变量类型默认字符串,bash环境运算都为整数1/3=0

    把-号变为+为取消设定

    -p可只列出变量类型

    数组:var[index]=content

      

    变量的删除,取代和替换

     删除

    #代表从前面开始删除,1个#代表删除最短的路径,2个##代表删除最长的路径

    删除和取代表格:

    替换:-代表替换null :-代表替换""和null

     别名和历史

    别名alias

    用alias列出别名

    alias xx='xxx'指定别名

    unalias xx 取消别名

    history

    history n    最近n笔命令
    history -c    清空shell中history
     history -raw histfiles
    -a 新增的指令加到histfiles中
    -r 读取histfiles到history记忆中
    -w history记忆中命令写到histfiles中

    查看~/.bash_history 大小

    利用history来执行命令

    !number    执行第几笔指令
    !command    执行command开头的指令
    !! 执行上一个指令
     
  • 相关阅读:
    多个类定义attr属性重复的问题:Attribute "xxx" has already been defined
    好用的批量改名工具——文件批量改名工具V2.0 绿色版
    得到ImageView中drawable显示的区域的计算方法
    得到view坐标的各种方法
    实现类似于QQ空间相册的点击图片放大,再点后缩小回原来位置
    Material Designer的低版本兼容实现(五)—— ActivityOptionsCompat
    Android 自带图标库 android.R.drawable
    解决 Attempting to destroy the window while drawing!
    解决Using 1.7 requires compiling with Android 4.4 (KitKat); currently using API 4
    Material Designer的低版本兼容实现(四)—— ToolBar
  • 原文地址:https://www.cnblogs.com/gengsc/p/6883354.html
Copyright © 2011-2022 走看看