mkdir '/tmp/test 1'
Bis hierhin ist es noch einfach. Da das Verzeichnis ein Leerzeichen hat, muss es in Anführungs- oder Zitatstrichen stehen. Alternativ hätte ich auch nur ein Backslash vor dem Leerzeichen machen können. Da ich aber wissen möchte, wie das bei einer tieferen Verschachtelung aussieht, beschränke ich mich mal nur auf die Zitatstriche. Bei der 1. Verschachtelung gibt es schon das 1. Problem:
sworddragon@ubuntu:~$ bash -c 'mkdir '\'/tmp/test 1\''' 1': -c: Zeile 0: Dateiende beim Suchen nach `'' erreicht. 1': -c: Zeile 1: Syntax Fehler: Unerwartetes Dateiende.
Seltsamerweise funktioniert es, wenn ich anstatt bash den x-terminal-emulator (lxterminal in meinem Fall) benutze:
x-terminal-emulator -e 'mkdir '\'/tmp/test 1\'''
Um erstmal zum 1. Problem zu kommen (da das eine Abhängigkeit ist), wieso funktioniert das nicht mit bash -c?
Dieser Beitrag wurde von Sworddragon bearbeitet: 10. Dezember 2012 - 19:56