ট্রেলিং স্ল্যাশ যদি থাকে তবে তা অপসারণ করতে আপনি সমস্ত পসিক্স-স্টাইলের শেলগুলিতে উপস্থিত প্রত্যয় অপসারণ প্যারামিটার সম্প্রসারণ কন্সট্রাক্টটি ব্যবহার করতে পারেন :
x=${x%/}
কয়েকটি জটিলতা রয়েছে। এটি কেবলমাত্র একটি একক স্ল্যাশ সরিয়ে দেয়, সুতরাং আপনি যদি শুরু করে থাকেন a/b/c//
তবে এখনও স্ল্যাশ দিয়ে শেষ করবেন। তদতিরিক্ত, যদি আসল পথটি ছিল /
তবে আপনার স্ল্যাশ রাখতে হবে। এখানে আরও জটিল সমাধান যা এই কেসগুলি যত্ন করে:
case $x in
*[!/]*/) x=${x%"${x##*[!/]}"};;
*[/]) x="/";;
esac
বিকল্পভাবে, ksh বা বাশ পরে shopt -s extglob
:
[[ x = *[!/] ]] || x=${x%%*(/)}
মনে রাখবেন যে অনেক ক্ষেত্রে, এটি পিছনে স্ল্যাশ রয়েছে তা বিবেচনা করে না। আর্গুমেন্টটি যদি কোনও ডিরেক্টরিতে প্রতীকী লিঙ্ক হয় তবে তা বিবেচ্য হয়: একটি পিছনে স্ল্যাশ সহ আর্গুমেন্টটি ডিরেক্টরিটি মনোনীত করে, যেখানে কোনও পিছনে স্ল্যাশ না করে যুক্তিটি প্রতীকী লিঙ্কটি নিজেই ডিজাইন করে। এটি কয়েকটি অন্যান্য প্রোগ্রামের সাথেও গুরুত্বপূর্ণ, উদাহরণস্বরূপ উত্সের যুক্তিটি rsync
একটি পিছনের স্ল্যাশের উপস্থিতির উপর নির্ভর করে আলাদা আচরণ করা হয়।
/
।