Eğer varsa bir eğik çizgiyi kaldırmak için , tüm POSIX stili kabuklarda bulunan sonek kaldırma parametresi genişletme yapısını kullanabilirsiniz :
x=${x%/}
Birkaç komplikasyon var. Bu yalnızca tek bir eğik çizgiyi kaldırır, bu nedenle işe başlarsanız a/b/c//
yine de bir eğik çizgiyle karşılaşırsınız. Ayrıca, orijinal yol ise /
, eğik çizgiyi korumanız gerekir. İşte bu durumlarla ilgilenen daha karmaşık bir çözüm:
case $x in
*[!/]*/) x=${x%"${x##*[!/]}"};;
*[/]) x="/";;
esac
Alternatif olarak, ksh veya bash'dan sonra shopt -s extglob
:
[[ x = *[!/] ]] || x=${x%%*(/)}
Çoğu durumda, bir eğik çizgi olması önemli değildir. Argümanın bir dizine sembolik bir bağlantı olması önemlidir: sondaki eğik çizgi ile, argüman dizini belirtirken, izleyen eğik çizgi olmadan argüman sembolik bağın kendisini belirtir. Birkaç başka programla da önemlidir, örneğin, kaynak argümanı rsync
, bir eğik çizginin varlığına bağlı olarak farklı şekilde ele alınır.
/
.