• 命令行笔记


    主要是对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 \\) # 输出\
        # 反单号中的有转义,需要用\才能表示本来的
    
  • 相关阅读:
    with原理__enter__、__exit__
    os模块walk方法
    restful规范简要概述
    python全栈开发day113-DBUtils(pymysql数据连接池)、Request管理上下文分析
    关于word2016中图片和正文编号自动更新的方法
    秋招
    GIL(全局解释器锁)
    多任务:进程、线程、协程对比
    多任务:协程
    进程和线程的对比
  • 原文地址:https://www.cnblogs.com/chenfangzhi/p/11989853.html
Copyright © 2020-2023  润新知