zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    结对编程2
    结对编程总结:简单的四则运算生成程序
    我的结对项目心得与代码规范
    一个团队和他们的调查表-----("调查表与调查结果分析"心得体会)
    目标?我定好了!(我的软件工程课目标)
    Jmeter响应数据为乱码的处理
    软件工程课程建议
    结对编程之Fault、Error、Failure
    我的结对项目编程感想
    调查问卷后的心得
  • 原文地址:https://www.cnblogs.com/0329linux/p/7092529.html
Copyright © 2011-2022 走看看