• shell基础知识(2)


    8.6管道符、作业控制

    sleep 100 暂停100秒
    sleep 100& 直接放在后台暂停
     
     

    8.7shell变量(上)
    env系统内置变量
    set不仅可以显示系统预设的变量,也可以连同用户自定义的变量显示出来
    a=111
    echo $a 显示为111
    在linux下设置自定义变量有哪些规则
    1. 设定变量的格式为 “a=b”, 其中a为变量名,b为变量的内容,等号两边不能有空格;
    2. 变量名只能由英、数字以及下划线组成,而且不能以数字开头;
    3. 当变量内容带有特殊字符(如空格)时,需要加上单引号;
    单引号不解析,是啥还是啥(有空格啥的也带)
    双引号里面的变量就给解析了(本身有单引号就用双引号)
    反引号里面加命令,不加变量
    [root@localhost ~]# myname='Aming Li'
    [root@localhost ~]# echo $myname Aming Li
    有一种情况,需要你注意,就是变量内容中本身带有单引号,这就需要用到双引号了。
    [root@localhost ~]# myname="Aming's" [root@localhost ~]# echo $myname Aming's
    1. 如果变量内容中需要用到其他命令运行结果则可以使用反引号;
    [root@localhost ~]# myname=`pwd` [root@localhost ~]# echo $myname /root
    1. 变量内容可以累加其他变量的内容,需要加双引号;
    [root@localhost ~]# myname="$LOGNAME"Aming [root@localhost ~]# echo $myname rootAming
    在这里如果你不小心把双引号加错为单引号,将得不到你想要的结果
    [root@localhost ~]# myname='$LOGNAME'Aming [root@localhost ~]# echo $myname $LOGNAMEAming

    8.8shell变量(下)
    w后看在哪个bash下,使用echo $SSH_TTY查看
    pstree 这个指令会把linux系统中所有进程通过树形结构打印出来。exit退出当前shell终端。(可以看所有用户)
    export其实就是声明一下这个变量的意思,让该shell的子shell也知道变量abc的值是123.如果export后面不加任何变量名,则它会声明所有的变量。export不能在别的机器上显示变量
    unset 后跟变量名 取消变量
    bash 命令,如果在当前shell中运行bash,则会进入一个新的shell,这个shell就是原来shell的子shell了。使用 bash 命令即可再打开一个shell,此时先前设置的 “aa=666” 变量已经不存在了,退出当前shell回到原来的shell, “aa=666” 变量还在,这时候export aa=666,他的子shell就有了,那要想设置的变量一直生效怎么办?有两种情况:
    1) 要想系统内所有用户登录后都能使用该变量
    需要在 “/etc/profile” 文件最末行加入 export aa=666然后运行 source /etc/profile 就可以生效了。此时再运行bash命令或者直接 su - test 账户可以看到效果。
    2)只想让当前用户使用该变量
    需要在用户主目录下的 .bashrc 文件最后一行加入 export aa=666 然后运行 source .bashrc 就可以生效了,这时候再登录quyifan账户,aa=666变量则不会生效了。

    8.9 环境变量配置文件
    /etc/profile /etc/bashrc
    ~/.bashrc ~/.bash_profile ~/.bash_history
    ~/.bash_logout 定义退出时需要做的操作,比如删除历史命令history
    ps1 -> /etc/bashrc 就是左边名字这些东西
    PS1='[u@h W]$ ' -> PS1='[u@h w]$ '
    -> PS1='<u@h w>$ '
    在这里多写了一个才一直出现错误哈哈


    扩展
    bashrc和bash_profile的区别 http://www.apelearn.com/bbs/thread-7719-1-1.html

  • 相关阅读:
    (二十)WebGIS中图层树功能的设计和实现
    WebGIS中矢量切图的初步研究
    百度兴趣点下载工具设计和实现
    服务端常规知识详解
    Shp数据批量导入Postgresql工具的原理和设计
    浅谈C#中一种类插件系统编写的简单方法(插件间、插件宿主间本身不需要通信)
    从底层开发谈WebGIS中实现地理长度固定的可视窗口的思路和方法
    用存储过程判断某个人员在一天的行进轨迹中是否有超过指定时间的停留
    Linux启动与禁止SSH用户及IP的登录
    JVM中的垃圾回收
  • 原文地址:https://www.cnblogs.com/0329linux/p/7092529.html
Copyright © 2020-2023  润新知