首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Linux:编写 Shell 脚本时如何优雅地处理函数返回状态,多行文本和脚本路径

    /bin/bash script_dir=$(dirname "$0") echo "Script directory: $script_dir" 这种方法适用于大多数情况,但它有一个缺点:如果脚本是通过符号链接调用的.../bin/bash script_dir=$(dirname "${BASH_SOURCE[0]}") echo "Script directory: $script_dir" BASH_SOURCE.../bin/bash script_dir=$(dirname "$(realpath "$0")") echo "Script directory: $script_dir" realpath 可以解析符号链接.../bin/bash caller_dir=$(pwd) echo "Caller directory: $caller_dir" 这个方法使用 pwd 命令获取当前工作目录,也就是调用脚本的位置。.../bin/bash # 获取脚本所在位置 script_dir=$(dirname "${BASH_SOURCE[0]}") # 获取调用者所在位置 caller_dir=$(pwd) echo "

    12510

    实例快速上手shell脚本

    这里大概分为四小部分: 分别为:BASH_SOURCE,cd,dirname,pwd BASH_SOURCE:我们先看里面的,这个是当前脚本的文件的路径。...BASH_SOURCE[0]存放的路径数据。 dirname:取出后面命令的路径部分 cd 这个就很简单了,进入dirname取出该脚本的路径的上一层(因为后面有一个/.....,所以是上一层) pwd:这个是获得当前路径。 &&:这个的意思就是前面的执行完了才执行后面的。 这句话总的意思就是,获取该脚本的上一级的路径。...我先说说$0,$1,$2等,这里的$0表示这个这个脚本本身,$1,$2分别表示第一个参数,第二个参数。那么我们来看这个命令。.../dir1/dir2/dir3 如果此时没有dir1那么之后的都建立不了,如果用 mkdir -p ./dir1/dir2/dir3 就可以啦。没有的都会自己创建。 下一句 ?

    1.1K101

    一步步学KubeVirt CI (6) - build CentOS Stream 8

    /bin/bash -eDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" centos_version="$(cat $DIR/version...-t quay.io/kubevirtci/centos8language-bash复制代码 ( cd "{BASH_SOURCE[0]}" )" && pwd )获取当前脚本的绝对路径给变量DIR,dirname..." cat $DIR/version | tr -d '\n'将version文件的内容去掉换行符,复制给变量centos_version,变量centos_version在后边的Dockerfile...stream/BaseOS/x86_64/os/images/pxeboot/vmlinuz COPY scripts/* / 基础镜像是fedora,dnf在fedora中相当于centos中的yum,工作目录是.../,将脚本文件夹scripts里的脚本都复制到工作目录,下载dockerize到工作目录,dockerize可以做成下面的ssh小工具,在ssh执行命令前先用dockerize判断下22端口是否能在timeout

    66430

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

    常见的一种误区,是使用 pwd 命令,该命令的作用是“print name of current/working directory”,这才是此命令的真实含义,当前的工作目录,这里没有任何意思说明,这个目录就是脚本存放的目录.../bin/bashthis_dir=`pwd`echo "$this_dir ,this is pwd"echo "$0 ,this is \$0"dirname $0|grep "^/" >/dev/...base_dir=$(cd "$(dirname "$0")";pwd) dirname  $0 ,取得当前执行的脚本文件的父目录 cd  dirname $0 ,进入这个目录(切换当前工作目录) pwd...,显示当前工作目录(cd执行后的) 我今天遇到一个问题就是: 需要压缩备份一个目录下的所有的文件,其实代码就2行: 我还是贴全部的吧,最后2行是我的: #!.../bin/bash this_dir=`pwd` echo "$this_dir ,this is pwd" echo "$0 ,this is \$0" dirname $0|grep "^/" >/

    11.7K70
    领券