bash自动完成在目录的末尾创建一个/我如何将其删除?
感谢提示。
#!/bin/sh
target=$1
function backup(){
date=`date "+%y%m%d_%H%M%S"`
PWD=`pwd`
path=$PWD/$target
tar czf /tmp/$date$target.tar.gz $path
}
backup
答案 0 :(得分:227)
答案 1 :(得分:22)
使用target=${1%/}
有关详情,请参阅此the parameter substitution of this bash scripting guide。
答案 2 :(得分:10)
如果不存在,我认为更好的canonize路径解决方案是realpath $path
或-m
选项。
此解决方案自动删除不必要的斜杠并添加pwd
答案 3 :(得分:3)
小心,bash3添加了perl-like regex to bash。上面提到的指南以及official guide at GNU涵盖了这一点,但并非所有引用都包括在内。
将2.19/*
替换为2.19
。
VER="2.19/foo-bar"
NEWVER=${VER%/*}