2016-05-02 13 views
-1

Ich habe ein Shell-Skript geschrieben, um c ausführbare mit Argumenten auszuführen.Ausführen von C ausführbar mit Argumenten als C ausführbar von Shell Skript

`HOME=/home/visitor/ 
PATH=. 
PATH=$PATH:$HOME/Application/Exec/ShellScripts 
PATH=$PATH:$HOME/Application/Exec/Utilities 
PATH=$PATH:$HOME/Application/Exec/Run 
export PATH 
Resour >> $LOGDIR/log.Resour  //Resour is an exe 
SetLogLevel 6      //SetLogLevel is an exe 
ExecCommand ProcessRealTime 1 1 ProcessRealTime >>$LOGDIR/log.ProcessRealTime 2>&1&` 

jedoch das obige Skript auf ausgeführt wird, Resour und SetLogLevel exe ordnungsgemäß ausgeführt werden, aber ExecCommand Exe, die verwendet wird ProcessRealTime zu starten und deren Eintragung in einem gemeinsamen Speicher machen zeigt „execv: Keine solche Datei oder das Verzeichnis“ .

Alle meine ausführbare Datei sind unter dem Pfad $ HOME/Application/Exec/Run, die exportiert wurde. Aber wenn ich die folgenden Änderungen haben, wird das Skript gearbeitet:

ExecCommand $ HOME/Anwendung/Exec/RunProcessRealTime 1 1 ProcessRealTime >> $ LOGDIR/log.ProcessRealTime 2>

Kann jemand Hilf mir beim Ausführen des Skripts, ohne die Pfade hinzuzufügen und die Befehle direkt mithilfe von Exportanweisungen auszuführen.

+0

genannten Verzeichnisse durchsucht. Wie steht das zu C? Die Tatsache, dass die ausführbare Datei in C geschrieben wurde, bedeutet nicht, dass das C-Tag hier korrekt ist. –

Antwort

1

Die Umgebungsvariable PATH betrifft nur die Shell. Sie müssen Ihre eigene Pfadsuche implementieren, wenn Sie execv verwenden oder zu execvp verschieben, die die in der PATH

+0

Danke gelöst !! – chetan

Verwandte Themen