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 扩充到一个路径