Domanda

Nel mio webapp faccio il seguito. So che la sua corretta perché ho provato 1) start_sz scarico un file di testo 2) su www-data 3) copiare / incollare la stringa estratto e ha funzionato.

var start_sz = string.Format(@"bash -c 'ln ""{2}/{0}"" ""{2}/{1}""'", fn, newfn, System.IO.Directory.GetCurrentDirectory());
Process.Start(start_sz);

ottengo l'eccezione di seguito in modo con il ragionamento di cui sopra credo proprio bash dicendo che non può essere trovato.

Impossibile trovare il file specificato

a System.Diagnostics.Process.Start_shell (System.Diagnostics.ProcessStartInfo startInfo, processo System.Diagnostics.Process) [0x00000] in: 0

a System.Diagnostics.Process.Start_common (System.Diagnostics.ProcessStartInfo startInfo, processo System.Diagnostics.Process) [0x00000] in: 0

a System.Diagnostics.Process.Start (System.Diagnostics.ProcessStartInfo startInfo) [0x00000] in: 0

a System.Diagnostics.Process.Start (System.String nomeFile) [0x00000] in: 0

a MySite.QueueManager.MakeLink (System.String fn) [0x00000] in: 0

a MySite.QueueManager.ImageQueue2 () [0x00000] in: 0

a MySite.QueueManager.ImageQueue () [0x00000] in: 0

Quindi, come faccio a risolvere questo problema? Fondamentalmente ho bisogno di creare un collegamento reale (morbida è ok troppo) in fase di esecuzione nel mio asp.net app.

ho pensato che forse ho bisogno il percorso completo bash così ho provato /bin/bash -c però che non ha funzionato neanche.

È stato utile?

Soluzione

Perché non chiamare direttamente ln? Senza bash?

Process.Start("ln", params);

Inoltre potrebbe essere necessario specificare il percorso completo:

Process.Start("/bin/ln", params);

In realtà, Process.Start("bash") lavora per me, Controllare quindi variabile d'ambiente $PATH, ecc.

Altri suggerimenti

No, sai che è corretto quando viene utilizzato da una shell . Che la Shell si prende il sentiero in considerazione, a differenza Process.Start.

Basta specificare il percorso completo di bash, che è quasi certamente /bin/bash.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top