Ich verstehe, dass eine Technik für den Umgang mit Leerzeichen in Dateinamen den Dateinamen mit einfachen Anführungszeichen einschließen: "'"
.Ich habe ein Verzeichnis und einen Dateinamen mit Leerzeichen. Ich möchte, dass ein Shell-Skript alle Dateien zusammen mit dem angegebenen Zeit- und Verzeichnisnamen liest. Ich schrieb das folgende Skript:Shell-Skript-Problem mit Verzeichnis und Dateinamen mit Leerzeichen
#!/bin/bash
CURRENT_DATE=`date +'%d%m%Y'`
Temp_Path=/appinfprd/bi/infogix/IA83/InfogixClient/Scripts/IRP/
find /bishare/IRP_PROJECT/SFTP/ -type f | xargs ls -al > $Temp_Path/File_Posted_$CURRENT_DATE.txt
die teilweise funktioniert. Es funktioniert nicht für das Verzeichnis und die Dateien, die ein Leerzeichen enthalten.
Wenn Sie eine Zeichenfolge mit Leerzeichen erscheinen als ein einziges Token wollen, setzen Sie es nur in doppelten Anführungszeichen. Zum Beispiel, "$ Temp_Path/File_Posted_ $ CURRENT_DATE.txt" ' –