shell /bat 指令

shell

echo "$(readlink -f "${0}")"
> /home/lhw/Gradute/365/allsystem/DLL/MeshLab/AppRun

HERE="$(dirname "$(readlink -f "${0}")")"
echo "${HERE}"
> /home/lhw/Gradute/365/allsystem/DLL/MeshLab

readlink:Linux中的readlink命令用于打印解析的符号链接或规范文件名。用简单的话来说,只要我们有一个符号链接,我们就想知道它代表什么路径。然后,在这种情况下,将使用readlink命令显示符号链接的实际路径。

readlink -f:通过递归跟随给定名称的每个组件中的每个符号链接,此选项可以规范化;除最后一个组件外,所有组件都必须存在。
dirname:dirname 表示获取指定脚本所在的路径
"${0}":表示获取当前脚本名
"$@":返回所有附加项

判断文件夹是否存在

if [ ! -d filename  ];then
  mkdir filename
else
  echo dir exist
fi

将echo输出作为变量

# 命令替换是指将命令的输出结果赋值给某个变量。一种是反引号` `,一种是$()
# 这里示例是将数字img_id=1,填充image_name="0001.jpg"
image_name=`echo ${img_id} | awk '{printf("%04d.jpg\n",$0)}'`

for 循环

for loop in `seq 0 1 9`
    do
    done

case 语句:

case $1 in
    "1")
        echo "--------step1++++++++++++++++++++++++++"
    ;;
    *)
        echo "--------end-----"
    ;;
esac

bat

%~dp0:批处理本身的目录

%~d0        - 仅将 %0 扩充到一个驱动器号
%~p0        - 仅将 %0 扩充到一个路径

Linux—shell中\((( ))、\)( )、``与${ }的区别

linux shell readlink 获取当前脚本文件绝对路径
%~dp0是什么意思

posted @ 2022-03-31 21:23  小小灰迪  阅读(182)  评论(0编辑  收藏  举报