Bash

Bash: Abschließenden Schrägstrich entfernen, wenn letztes Zeichen `/` ist

In der Bash-Programmiersprache auf Linux-Computern/-Servern zeigt dieser Artikel, wie man den `/` (Schrägstrich) entfernt, wenn das letzte Zeichen `/` ist. Es gibt Fälle, in denen Sie den letzten '/' entfernen möchten. Zum Beispiel hat beim Verwenden von <code>cp</code> oder <code>rsync</code> die Angabe eines Verzeichnisses + <code>*</code> (Platzhalter) eine erhebliche Bedeutung anstatt nur ein Verzeichnis anzugeben...

Shou Arisaka
1 Min. Lesezeit
25. Okt. 2025

In der Bash-Programmiersprache auf Linux-Computern/-Servern zeigt dieser Artikel, wie man den / (Schrägstrich) entfernt, wenn das letzte Zeichen / ist.

Es gibt Fälle, in denen Sie den letzten ”/” entfernen möchten. Zum Beispiel hat beim Verwenden von cp oder rsync die Angabe eines Verzeichnisses + * (Platzhalter) eine erhebliche Bedeutung anstatt nur ein Verzeichnis anzugeben.

{/* path/to/としたいのに、 path/to//となってしまう、 */} Sie können Situationen vermeiden, in denen Sie path/to/* möchten, aber es wird path/to//*.


func(){

    [[ "$( echo "${1}" | getlastchar )" == "/" ]] && var="$( echo ${1} | chomplastchar )" || var="${1}"

    echo ${var}

}

chomplastchar(){
  chomp | python3 -c "import json,sys;print(sys.stdin.read()[:-1])"
}

getlastchar(){
  chomp | python3 -c "import json,sys;print(sys.stdin.read()[-1:])"
}

chomp ()
{
    perl -pe "chomp"
}

Image

yuis ASUS /mnt/c/pg$ func "dir/"
dir
yuis ASUS /mnt/c/pg$ func "dir"
dir

Diesen Artikel teilen

Shou Arisaka 25. Okt. 2025

🔗 Links kopieren