• 命令行笔记


    主要是对linux命令号中一些经常会遗漏的事项的记录。

    1. 命令行中执行for和if等语句命令,原来在脚本中换行的地方用;代替:for name in $(ls); do if [[ "$name" == "te" ]] ; then echo $name;fi;done

    2. eval命令:会扫描两遍,第一次做变量替换,第二次如果是命令则执行该命令,用于执行一些需要变量替换的命令

    3. shell中单引号替换环境变量 双引号不替换

    4. 小括号的妙用:(cd /usr;ls) 假如当前目录是home,执行完还是home目录

    5. sz命令传文件夹使用 sz data/* ,不包含文件夹本身

    6. 注意在空目录下使用*的问题,*会报错,例如:test文件夹为空,ls test/*命令报错

    7. 登录时指定.bashrc的问题,另外bash的PS1变量导致长命令行不能换行的问题

    8. 注意重定向的顺序问题,在执行前会先清空文件

    9. cat <<EOF和cat -

    10. pstree命令指定进程直接在后面加上进程号就行,-p打印线程 -a打印命令行

    11. (shell)在子进程中运行命令,{shell}用于在当前shell中运行命令,{}需要注意括号与命令之间包含空格,确保列表最后一个命令以分号结尾

    12. bash参数:

            摘录自阮一峰
            set -x  用于调试,输出正在执行的命令
            set -e  前一个命令执行出错直接退出(默认继续执行)
            set -u  如果遇到不存在的变量报错(默认忽略)
            set -o  pipefail  如果设置了-e,管道命令看的是最后一个命令的执行结果,如果需要管道前一个执行失败就退出时使用
            也可以在bash外面使用: bash -euxo pipefail script.sh
            
    
    1. ``和$()的区别:
        echo `echo \\` # 输出
        echo $(echo \\) # 输出\
        # 反单号中的有转义,需要用\才能表示本来的
    
  • 相关阅读:
    jquery easyui datebox 时间控件默认显示当前日期的实现方法
    CentOS下Web服务器环境搭建LNMP一键安装包
    EasyUI DateBox 按钮自定义添加功能
    Java程序如何生成Jar、exe及安装文件
    推荐!Sublime Text 最佳插件列表
    Sublime Text插件:HTML+CSS+JAVASCRIPT+JSON快速格式化
    java判断是excel2003还是2007以上
    Content-Type: application/vnd.ms-excel"
    小说大纲
    java判断文件真实类型
  • 原文地址:https://www.cnblogs.com/chenfangzhi/p/11989853.html
Copyright © 2020-2023  润新知