zoukankan      html  css  js  c++  java
  • linux-脚本问题汇总

    实际编写脚本过程中,会有各种各样小的问题或者细节,没有注意。都汇总到这篇文章。

    1. cp 命令复制文件时,如需覆盖文件需要每个文件需要手动确认是否覆盖,cp -rf不起作用

      alias cp
      # Linux默认为cp设置了别名
      alias cp='cp -i'
      #或者查看.bashrc文件
      cat ~/.bashrc 
      
      #在执行脚本中上重新命令cp别名,当前shell脚本下有效
      alias cp='cp'
      

      ubantu默认为cp命令配置了别名,如上所示,默认加了-i参数。所以脚本中

    2. 相对路径和绝对路径

      #!/bin/bash
      cd ../
      echo `pwd`
      echo $PWD
      

      脚本中的相对路径是针对执行脚本的路径而言的。上述代码打印的路径总是随着用户执行路径变化

      #!/bin/bash
      abspath=`dirname $0`
      echo $0
      echo $abspath
      #cd `dirname $0`
      cd $abspath
      echo `pwd`
      echo $PWD
      
      ##打印信息如下
      sh app/test.sh 
      # 如下$0的内容取决于调用命令,如果调用命令是./app/test.sh,则返回./app
      app/test.sh
      app
      /opt/app
      /opt/app
      

      上面的的脚本总是输出文件所在的路径

      • $0返回调用当前脚本的路径
      • dirname:输出$0去掉尾部的"/"字符后面的路径;如果名称中不包含"/",则显示"."(表示当前目录)。

      脚本中如果使用了相对路径,在脚本最开始的地方最后先执行cd切换至当前路径。这样可以避免在其他路径下调用该脚本,相对路径转换问题。

      参考资料

  • 相关阅读:
    算法分析实验题集
    程序猿怎样解除烦恼
    MYSQL设计优化
    模式匹配KMP
    ios创建画笔的样例(双笔画效果)
    命令行解析器
    作业还是作孽?——Leo鉴书79
    客户机增加域 及server文件共享
    MySQL教程及经常使用命令1.1
    jsTree插件简介(三)
  • 原文地址:https://www.cnblogs.com/froggengo/p/15156673.html
Copyright © 2011-2022 走看看