Saya telah menginstal Windows Subsystem untuk Linux (WSL) untuk Bash di Ubuntu pada Windows (berikut ini disingkat "Bash".) cmd.exe
saya bisa berlari bash -c gcc --version
sebaik yang bisa saya gunakan cmd -k bash -c gcc --version
dari menu mulai. Namun, saya perhatikan bahwa saya tidak dapat menjalankan perintah yang sama dari aplikasi pihak ketiga, mis. Teks Luhur atau Atom.
Pertimbangkan sistem build berikut untuk Teks Sublime dan, untuk saat ini, abaikan fakta bahwa ini tidak akan membangun apa pun:
{
"cmd": [ "bash", "-c" "gcc", "--version" ],
"working_dir": "${project_path:${folder}}",
"selector" : "source.c"
}
Menjalankan perintah build akan menghasilkan Error: 0x80070057
. Dengan mode lawas untuk cmd.exe
diaktifkan, kesalahan terbaca Unsupported console settings. In order to use this feature the legacy mode must be disabled.
Di antara hal-hal lain saya sudah mencoba membuatnya bekerja:
Menggunakan jalur absolut ke
bash.exe
, mis.%SystemRoot%\System32\bash.exe
Jalankan file Batch di alat build (konten:
bash -c gcc --version
). Khususnya, file Batch berfungsi saat dijalankan daricmd.exe
Ubah perintah build menjadi
[ "cmd", "/k", "bash", "-c" "gcc", "--version"]
Menambahkan
"shell": true
ke file build saya
Kadang-kadang kesalahan berubah menjadi "[bash] tidak dikenali sebagai perintah internal atau eksternal", meskipun C:\Windows\System32
ada di jalanku.
Apakah ada batasan bahwa Bash hanya dapat diluncurkan dari cmd.exe
? Apakah ada solusi yang memungkinkan saya untuk meluncurkan batch
dari Sublime Text?
cmd
baris ke"cmd": [ "cmd.exe", "-k", "bash -c gcc --version" ]
, dan / atau coba tambahkanshell: true
.Jawaban:
Saya pikir Anda dapat mencoba solusi ini.
Menggunakan Windows Subsystem untuk Linux (WSL) dari Sublime Text
Dan tidak, itu tidak perlu diganti
bash
denganbash.exe
.sumber
Saya tidak memiliki lingkungan Anda untuk menguji ini, tetapi saya sarankan mengganti "bash" dengan "bash.exe". Perintah Windows cmd.exe membutuhkan akhiran .exe untuk menjalankan perintah bash.exe. Perintah WSL / usr / bin / bash tidak sama dengan perintah Windows C: \ Windows \ System32 \ bash.exe.
sumber