Führen Sie .sh im Cygwin-Skript von cmd aus aus

Führen Sie .sh im Cygwin-Skript von cmd aus aus

Ich habe ein .bat-Skript, das eine .exe-Datei aufruft, um Textdateien zu generieren:

generate.bat:
...
ResGen main.txt Main.resources /str:c#
...

Danach möchte ich die Befehlszeilenfunktion von vim für Suchen/Ersetzen auf die generierte Datei anwenden. Dazu mache ich Folgendes:C:\cygwin64\bin\bash.exe searchreplace.sh

searchreplace.sh:

echo "Hello from searchreplace.sh.."
vim Main.cs -c ":%s#internal#public#ge | update"

Ich erhalte diesen Fehler:

searchreplace.sh: Zeile 2: vim: Befehl nicht gefunden

Ich kann vim verwenden, wenn ich Cygwin64 vom Startmenü aus starte. Scheint ein Fehler in meinen Skripten zu sein. Was mache ich hier falsch?

Antwort1

Legen Sie den Füllpfad zum Vim wie folgt fest:

C:\cygwin64\bin\vim Main.cs -c ":%s#internal#public#ge | update"

oder

/drives/c/cygwin64/bin/vim Main.cs -c ":%s#internal#public#ge | update"

verwandte Informationen