lanciare comandi costituiti da 2 parole

2 risposte [Ultimo messaggio]
Ritratto di albe72mila
albe72mila
(Junior)
Offline
Junior
Iscritto: 08/10/2007
Messaggi: 16

Ciao a tutti
chiedo subito scusa per la mia immensa ignoranza..., nonostante sia perito informatico, non pratico da anni, quindi sono piuttosto arrugginito...
Vengo al dunque: ho installato un programma il cui comando per essere avviato è costituito da 2 parole (nello specifico il comando è: "Snapfish FotoLibro") contenuto nella cartella /home/Snapfish FotoLibro/
lanciando il comando sia da interfaccia grafica che da riga di comando (loggato sia come root, sia come utente normale) non succede nulla (in opensuse 12.1 girava bene...). in particolare:
1) ho verificato i permessi lettura/scrittura sul file e che il medesimo sia esegubile (tutto ok)
2) da riga di comando mi restituisce l'errore /home/Snapfish "file or directory not found". Credo, quindi, sia un errore di interpretazione del comando che tronca il tutto alla prima parola "Snapfish"....
Trascurando eventuali problemi di compatibilità, quale la sintassi corretta per lanciare da riga di comando un eseguibile costituito da 2 parole separate?

Chiedo scusa se non ho rispettato la sintassi corretta per postare i comandi e i relativi output, ma sono in ufficio e vorrei impattare il meno possibile sul mio lavoro

Grazie a tutti

Ritratto di pinquadr
pinquadr
(Guru)
Offline
Guru
Iscritto: 20/11/2004
Messaggi: 921

Contrariamente alla interfaccia grafica, la riga di comando considera lo spazio come divisione tra un comando e l'altro anche se riguarda un percorso. In realtà l'errore è banale: il comando da dare è

/home/Snapfish/FotoLibro

notare la barra tra /home/Snapfish e FotoLibro

altra nota FotoLibro che tipo di eseguibile è?

OpenSuse Leap42 con KDE5 su Intel I7 4930K scheda madre Asus Sabertooth X79 - RAM 32 Gb - scheda video NVIDIA GTX660 1GB - scheda TV Hauppauge WinTV Nova T stick

Ritratto di SilverHawk
SilverHawk
(Geek)
Offline
Geek
Iscritto: 31/05/2014
Messaggi: 180

Se ho ben capito, dovresti lanciare: [/home/Snapfish\ FotoLibro/Snapfish\ FotoLibro], senza le quadre.
Per fare comprendere alla bash che lo spazio è parte del nome, e non un separatore tra i parametri, va anteposto il carattere \.
In questo modo, per l'interprete, il comando scritto sopra è una "voce" unica.