cd:切换文件夹,$:返回该命令的结果,dirname:用于取指定路径所在的目录,如dirname/home/ikidou结果为/home,$0:表示当前动行的命令名,用于shell脚本中。更多的信息可以登录CSDN查询。
我们可以在bash中使用以下命令获取所执行脚本文件的绝对路径: #!/bin/bash DIR=$( cd "$(dirname "${BASH_SOURCE[0]}")" && pwd); echo $DIR 1. 2. 3. BASH_SOURCE[0] - 等价于 BASH_SOURCE ,取得当前执行的 shell 文件所在的路径及文件名 dirname -去除文件名中的非目录部分,仅显示与目录有关的...
echo $path path2=$(dirname $0) echo $path2 当前脚本存在路径:/home/software sh path.sh /home/software . 解释: dirname $0 只是获取的当前脚本的相对路径. cd `dirname $0`;pwd 先cd到当前路径然后pwd,打印成绝对路径 方法二: path.sh #!/bin/bash path=$(dirname $0) path2=$(readlink -f $...
本文将详细介绍linux在shell脚本中获取该脚本的所在绝对路径的操作方法,需要的朋友可以参考下脚本名:a.sh位置:/tmp/whuang/study/java脚本内容:复制代码代码如下:#!/bin/shthis_dir=`pwd`dirname $0|grep "^/" >/dev/nullif [ $? -eq 0 ];thenthis_dir=`dirname $0`elsedirname $0|grep "...
BASH_SOURCE[0]这又是什么东西? 鲁棒性?用回pwd啦! 又是source的坑!变量命名! 小结 前言 今天重新写了之前的iOS自动化脚本,并加入自动上传符号表文件到Bugly的功能。结果遇到Shell的几个有趣的“坑”。 简化成以下例子: /Users/zack/Desktop/a.sh
解析: kill 命令用于向进程发送信号(SIGNAL),常用于终止进程运行(优雅停止和暴力停止)。 0这个信号比较特殊,查看kill命令的帮助文档解释如下:If sig is 0, then no signal is sent, but error checking is still performed; this can be used to check for the existence of a process ID or process group ...
程序状态返回代码(0-255)0: 正确执行 1-255:错误执行1,2,127系统预留。 内置变量: echo args---将echo命令后面指定的字符串即变量等显示在标准输出 eval args---当shell程序执行到eval语句时,shell读入参数args,并将它们组合成一个新命令执行 exec---能够在...
对于类似于下面的BIN=\abs_path``语句,获取的是函数体内所有的echo、printf输出组合成的一个字符串 abs_path() { SOURCE="${BASH_SOURCE[0]}" while [ -h "$SOURCE" ]; do DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )" SOURCE="$(readlink "$SOURCE")" [[ $SOURCE != /* ]] ...
Test格式:test condition 或 [ condition ](需要特别注意的是condition的两边都要有一个空格,否则会报错),test命令返回0表示成功。 l 下面将分别描述test的三种测试: n 文件状态测试(常用的) -d 测试是否文件夹 -f 测试是否一般文件 -L 测试是否链接文件 ...
!/bin/bash#当前路径MYDIR=`dirname "$0"`#切换到当前路径cd "$MYDIR"#删除当前文件夹下所有空文件夹find "$MYDIR" -type d -exec rmdir -p {} \;#对于文件夹大小大于0的文件夹无效。#$MYDIR加双引号可以删除带空格的文件夹。试试看这个代码。