Ich habe ein Linux-Skript, das ein Argument, das von MSDOS stammt (eigentlich DOSEMU mit MS DOS 6.22) übergeben wird. Das Argument, das übergeben wird, ist case insensitive (wie DOS keine Fälle), aber natürlich tut Linux.Linux Bash Script - Kleinbuchstaben Pfad in Argument mit tatsächlichen Dateisystempfad
ich aus der folgenden gebene Argument
/media/zigg4/vol1/database/scan/stalbans/docprint/wp23452.wpd
zu
/media/zigg4/vol1/Database/SCAN/STALBANS/DOCPRINT/Wp23452.WPD
zu bekommen versuche ich weiß nicht, die tatsächlichen Groß- und Kleinschreibung Pfad so muss ich es irgendwie aus dem Argument bestimmen, ist an das Skript übergeben. Ich habe absolut keine Ahnung, wo ich anfangen soll, also wird jede Hilfe sehr geschätzt.
für zusätzliche Informationen bearbeitet und Klarheit
UPDATE
Dank der Antwort von @anubhava benutzte ich die folgenden: -
#!/bin/bash
copies=1
if [ ! -z "$2" ]; then
copies=$2
fi
find/-readable -ipath $1 2>&1 | grep -v "Permission denied" | while IFS= read -r FILE; do
lpr -o Collate=True -#$copies -sP $FILE
done
Funktioniert prima :-)
beide Pfade konvertieren in Kleinbuchstaben und dann – anubhava
@anubhava Dank für Ihren Kommentar vergleichen. Vielleicht war ich in meiner Frage nicht klar. Ich kenne den zweiten Weg eigentlich nicht. das ist was ich versuche zu finden, basierend auf dem Argument an das Skript übergeben – l0ckm4
Also jetzt wird dieses Skript unter Linux oder DOS laufen? – anubhava