উত্তর:
case $x in *[!/]*/) x=${x%"${x##*[!/]}"};; esac
target=${DIR%/}
ব্যবহার target=${1%/}
আরও জন্য এই বাশ স্ক্রিপ্টিং গাইডের প্যারামিটার বিকল্পটি দেখুন।
আমি মনে করি পাথের উন্নততর সমাধানের বিকল্পটি realpath $path
বা -m
বিকল্পের সাথে যদি এটি না থাকে তবে। এই সমাধানটি অটোমেটিক্যালি অপ্রয়োজনীয় স্ল্যাশগুলি সরিয়ে দেয় এবং পিডাব্লুডিকে যুক্ত করে
readlink -f
চেয়ে একটু বেশি বহনযোগ্য realpath
। সংযোজন
target=$(realpath -L --relative-base . $1)
সাবধানতা অবলম্বন করুন, bash3 ব্যাশে পার্ল-অনুরূপ রেজেক্স যুক্ত করেছে। উল্লিখিত গাইড এটিকে পাশাপাশি জিএনইউতে অফিসিয়াল গাইডকেও অন্তর্ভুক্ত করে তবে সমস্ত উল্লেখ তা করে না।
বিকল্প 2.19/*
হতে 2.19
।
VER="2.19/foo-bar"
NEWVER=${VER%/*}