首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

shell获取当前工作目录绝对路径

一般我们写Shell脚本的时候,都倾向使用绝对路径,这样无论脚本在什么目录执行,都应该起到相同的效果,但是有些时候,我们设计一个软件包中的工具脚本或者远程调用某个脚本时,可能使用相对路径更加灵活一点,因为你不知道用户会在哪个目录执行你的程序...,于是问题就来了,如何获取当前正在执行脚本的绝对路径?...你可以试试bash shell/a.sh,a.sh 内容是 pwd,你会发现,显示的是执行命令的路径 /home/ljl,并不是 a.sh 所在路径:/home/ljl/shell/a.sh 另一个误人子弟的答案...,使用从$0开始的特殊变量引用(跟路径无关了) 除此以外,$0会被设置成调用bash的那个文件的名字(没说是绝对路径) 简单介绍一下获取方法如下: #!...cd  dirname $0 ,进入这个目录(切换当前工作目录) pwd,显示当前工作目录(cd执行后的) 我今天遇到一个问题就是: 需要压缩备份一个目录下的所有的文件,其实代码就2行: 我还是贴全部的吧

11.7K70
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    bash shell:获取当前脚本的绝对路径(pwdreadlink)

    https://blog.csdn.net/10km/article/details/51906821 有时候,我们需要知道当前执行的输出shell脚本的所在绝对路径,可以用dirname...我们知道 dirname 可以获取一个文件所在的路径,dirname的用处是: 输出已经去除了尾部的”/”字符部分的名称;如果名称中不包含”/”, 则显示”.”(表示当前目录)。...所以下面这样的代码中SHELL_FOLDER中不一定是绝对路径 SHELL_FOLDER=$(dirname "$0") 需要用cd和pwd命令配合获取脚本所在绝对路径,正确的写法是这样的, SHELL_FOLDER...=$(cd "$(dirname "$0")";pwd) 如果你觉得上面的写法比较麻烦,还有一个方式获取脚本的绝对路径,就是借助readlink命令,下面是readlink的命令行说明: ?...所以用readlink命令我们可以直接获取$0参数的全路径文件名,然后再用dirname获取其所在的绝对路径SHELL_FOLDER=$(dirname $(readlink -f "$0")) 参考

    8.7K30

    linux当前时间命令(shell脚本获取当前日期前一天)

    一、基础知识 1.1 Linux系统的文件结构 /bin 二进制文件,系统常规命令 /boot 系统启动分区,系统启动时读取的文件 /dev 设备文件 /etc...系统管理命令 /srv 数据 /var 数据 /sys 内核相关信息 /tmp 临时文件 /usr 用户相关设定 1.2 Linux...(pwd) pwd //显示当前位置路径 四、文件操作 4.1 新增文件(touch) touch a.txt //在当前目录下创建名为...中打包文件的扩展名 .gz //Linux中压缩文件的扩展名 .tar.gz //Linux中打包并压缩文件的扩展名 6.2 打包文件 tar...which bash //查看指令"bash"的绝对路径 7.4 sudo 说明:sudo命令以系统管理者的身份执行指令,也就是说,经由 sudo 所执行的指令就好像是 root

    4K30

    获取当前jar包路径_java获取jar文件

    一、获取可执行jar包所在目录 (1)方法一:使用 System.getProperty("java.class.path") 获取classpath的路径,若没有其他依赖,在cmd下运行该可执行jar...代码如下: /** * 方法一:获取当前可执行jar包所在目录 */ String filePath = System.getProperty("java.class.path"); String pathSplit...= System.getProperty("path.separator");//得到当前操作系统的分隔符,windows下是";",linux下是":" /** * 若没有其他依赖,则filePath...ClassName.class.getProtectionDomain().getCodeSource().getLocation().getPath() 但是这种方法不支持中文,需要使用以下代码方法,进行转换 /** * 方法二:获取当前可执行...System.out.println("jar包所在目录:"+filePath); 二、获取当前JVM运行目录 使用: System.getProperty("user.dir") 三、获取jar包内的资源文件

    7.3K20

    Linux编程--获取当前时间

    背景 最近在重新编译ijkplayer,并且希望能够打印出来各个阶段的时间,以便对于ijkplayer进一步调优 获取时间 Linux获取时间有多种方案,都需要添加#include time...调用 通过time函数获得当前时间,注意单位为秒,其中time_t结构体是一个有符号的长整型。...return 0; } gettimeofday调用 通过gettimeofday调用返回来的是一个timeval的结构体,其中tv_sec是秒数,tv_usec是微秒数,通过这两个数共同标志当前时间...Seconds: %ld,uSeconds:%ld\n", time.tv_sec,time.tv_usec); return 0; } 注意 因为在手机上测试的时候,通过gettimeofday获取时间...比如,当前通过gettimeofday获取到的t.tv_sec为1534132538,而t.tv_sec*1000的结果为8292133328。

    8K30
    领券