美文网首页
Linux下获取脚本当前工作目录的一点感触

Linux下获取脚本当前工作目录的一点感触

作者: robot_test_boy | 来源:发表于2020-09-07 03:25 被阅读0次
背景:把scp-file.sh脚本相同路径下的所有文件传到另外一个服务器上。

一般把scp * test@192.169.55.66:/home/放到scp-file.sh脚本中,这样就能完成这个功能,先假设这个是脚本开发人员A完成的。

功能测试也是OK的,但这个脚本是有隐患的,不知道你有没有发现?

当该脚本对外提供服务,被开发人员B调用了一把,这个看运气了,如果和scp-file.sh在同一路径下调用,没得问题。如果cd切换到scp-file.sh脚本所在路径,也不会有此问题。

但当你sh ./test/scp-file.sh执行时,这个时候就会出现问题,会把当前路径下的文件而不是/test下的文件传到另外一个服务器上。这是为什么呢?

脚本测试下看看就知道了,scp-test.sh中添加pwd和ls -l两行看看就知道了。

原来的需求是什么呢?原来的需求是将/test下的所有文件传到另外一个服务器上。

scp-test.sh中顶行再添加一行cd $(dirname $0),再看下pwd和ls -l执行结果。

添加cd $(dirname $0)前后有什么差别嘛?

这下知道这个脚本的缺陷了吧?

修改方案

原则上:一个脚本对外提供的能力或者服务,应该考虑健壮性,不管使用者怎么调用。这样看scp-file.sh脚本修改,最佳方案。这个脚本有可能被好几个人调用,只要一处修改即可。

另外方案:scp-file.sh脚本给出二次开发说明,限制调用者调用方式,比如cd切换到scp-file.sh脚本所在路径。

复盘

复述下开发过程和测试过程,开发人员A先开发,可能和开发人员B同一项目或不同项目,开发人员A对应测试人员a,测试完说功能正常,然后发布给开发人员B,并没有二次开发手册,开发人员B以为调用一把,还真这么写代码了,开发人员B说自测OK,开发人员B对应的测试人员b测试就遇到了问题。

这一过程中,开发人员A的脚步不够健壮,但一般不会暴露问题,没有二次开发手册,没考虑使用者如何调用。

开发人员B说我自测OK啊,怎么做到版本中就有问题呢?是谁改过代码嘛?为啥我自测没发现问题?这些不得而知,只能让开发人员B自己描述下测试过程,说下自己对于此功能的断言(期望),以及自测时测试脚本是怎么调用的?

这一故障应该归属于谁呢?看开发人员B的复盘过程了。话说回来,该故障应该谁来修改呢?这个可以讨论下怎么实施?虽然有最优方案但不见得人家修改。

相关文章

  • Linux下获取脚本当前工作目录的一点感触

    背景:把scp-file.sh脚本相同路径下的所有文件传到另外一个服务器上。 一般把scp * test@192....

  • Python中的os以及sys模块

    修改当前工作目录到path os.chdir(path) 获取当前工作目录 os.getcwd() 获取脚本所在的...

  • os与sys

    os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径os.chdir("dirname"...

  • python 标准库之os

    常用的函数调用: os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 os.chdir...

  • python3 os模块

    用于系统级别的操作 os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 os.chdi...

  • Python模块-----os模块

    os模块 负责与操作系统交互的模块 os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径...

  • os,sys,json,pickle模块

    os模块 提供对操作系统调用的接口1.os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路...

  • shell 常用功能函数

    参考书籍 Linux shell 脚本攻略 目录 使用别名 获取终端信息 获取、设置日期和延时 调试脚本 函数和参...

  • Python全栈之路标准库系列之os模块

    os模块常用方法 常用方法实例 获取当前工作目录 改变工作目录到/tmp下 获取/root目录下的所有文件,包括隐...

  • Linux下安装jdk8步骤详述

    登录Linux,切换到root用户su root 获取root用户权限,当前工作目录不变(需要root密码)或su...

网友评论

      本文标题:Linux下获取脚本当前工作目录的一点感触

      本文链接:https://www.haomeiwen.com/subject/gqzvsktx.html