Ich habe ein Skript geschrieben die Unix-Shell-Sprache (nicht in Bash oder eine andere Shell, in SH), die den Mount-Punkt eines bestimmten USB (dh es nimmt den Pfad eines USB (z als/dev/sdb1) als Argument). Hier ist sie:Problem Druck Zeichenfolge in der Shell
#!/bin/sh
# usage: get_mount [path]
# returns: mount pount of given usb path
pth=$1
echo $pth
mountPoint="`df -h | grep $pth | tr -s \" \"| cut \"-d \" -f6`"
echo $mountPoint
Das Problem ist, wenn ich dies ausführen, druckt es nur eine leere Zeichenfolge, und ich kenne den Befehl funktioniert, weil ich es in einem Terminal ohne Probleme ausprobiert habe: es ist die Zuweisung es einfach zu einer Variable ist, was nicht funktioniert. Hat jemand Ideen? Danke im Voraus!
Dieses Skript funktionierte mit dem einzigen Gerät auf meinem System "df -h" (/ dev/fd). Können Sie bitte den relevanten Teil der Ausgabe von Ihrem 'df -h' veröffentlichen? – DVK
Können Sie uns eine Beispieleingabe und gewünschte Ausgabe geben? Ich bin ziemlich sicher, dass Sh eine bestimmte Anzahl von Parameter Expansion Techniken haben wird, um die Notwendigkeit für tr und/oder Schnitt vollständig zu entfernen – SiegeX