If-Koubou

Cara Menjalankan Program Windows dari Bash Shell Windows 10

Cara Menjalankan Program Windows dari Bash Shell Windows 10 (Bagaimana caranya)

Dalam Pembaruan Kreator, Bash shell Windows 10 sekarang memungkinkan Anda untuk menjalankan binari Windows dan perintah Command Prompt standar, langsung dari Bash. Anda dapat menjalankan program Linux dan Windows dari shell Bash yang sama, atau bahkan memasukkan perintah Windows ke dalam skrip Bash.

Apa yang perlu Anda ketahui

Berikut ini beberapa detail dasar yang perlu Anda ketahui tentang fitur ini:

  • Akun pengguna: Program yang diluncurkan dari shell Bash akan berjalan seolah-olah diluncurkan oleh akun pengguna Windows saat ini.
  • Izin: Program-program ini akan memiliki izin yang sama dengan proses Bash.exe. Jadi, jika Anda ingin perintah ini memiliki akses Administrator, Anda harus menjalankan shell Bash sebagai Administrator.
  • Direktori Kerja: Program Windows berbagi "direktori kerja" yang sama dengan shell Bash. Jadi, jika Anda menjalankan perintah yang berisi daftar isi direktori saat ini, itu akan daftar isi direktori kerja saat ini di shell Bash. Menggunakan CD perintah untuk mengubah direktori kerja.

Dengan mengingat hal itu, mari kita lihat cara menjalankan program.

Cara Menjalankan Program Windows

Untuk menjalankan program Windows, masukkan path ke file .exe program di shell Bash. Ingat bahwa drive Windows C: Anda tersedia di / mnt / c di Bash. Lingkungan Bash juga peka huruf besar-kecil, jadi Anda harus menentukan kapitalisasi yang benar.

Katakanlah Anda ingin meluncurkan utilitas Ping yang terletak di C: \ Windows \ System32 \ PING.EXE. Anda akan menjalankan perintah berikut:

/mnt/c/Windows/System32/PING.EXE

Perintah berikut tidak akan berfungsi, karena Bash peka terhadap huruf besar kecil:

/mnt/c/windows/system32/ping.exe

Ini sedikit lebih rumit jika jalan mengandung karakter kompleks seperti spasi dan tanda kurung, seperti folder Program Files. Anda harus "melarikan diri" spasi, tanda kurung, dan karakter kompleks lainnya dengan awalan mereka dengan karakter "\".

Sebagai contoh, katakanlah Anda ingin menjalankan program Internet Explorer yang terletak di C: \ Program Files (x86) \ Internet Explorer \ iexplore.exe. Anda harus menjalankan perintah berikut di Bash:

/ mnt / c / Program \ Files \ \ (x86 \) / Internet \ Explorer / iexplore.exe

Perhatikan "\" sebelum spasi dan karakter braket. Karakter-karakter ini harus "melarikan diri" atau Bash tidak akan menyadari karakter adalah bagian dari path file.

Cara Meloloskan Argumen ke Perintah

Bash shell meneruskan argumen langsung ke perintah yang Anda jalankan.

Misalnya, jika Anda ingin melakukan ping example.com, Anda akan menjalankan:

/mnt/c/Windows/System32/PING.EXE example.com

Atau, jika Anda ingin membuka file host Windows di Notepad, Anda akan menjalankan:

/mnt/c/Windows/System32/notepad.exe "C: \ Windows \ System32 \ drivers \ etc \ hosts"

Anda menggunakan jalur file Windows standar ketika melewati jalur file langsung ke program Windows. Itu karena Bash memberikan argumen secara langsung. Notepad.exe dan program Windows lainnya mengharapkan jalur file Windows.

Cara Menjalankan Perintah Built-in

Beberapa perintah Windows tidak. Exe file, tetapi dibangun ke Command Prompt itu sendiri. Misalnya, ini termasuk dir perintah Anda biasanya berjalan di Command Prompt. Untuk menjalankan perintah seperti itu, Anda harus menjalankan cmd.exe biner terkait dengan Command Prompt dan memberikannya perintah sebagai argumen dengan / C, seperti:

Perintah /mnt/c/Windows/System32/cmd.exe / C

Misalnya, untuk menjalankan dirperintah dibangun ke Command Prompt, Anda akan menjalankan perintah berikut:

/mnt/c/Windows/System32/cmd.exe / C dir

Bagaimana cara menambahkan direktori ke jalan

Layanan Windows untuk lingkungan Linux memperlakukan Windows executable mirip dengan cara memperlakukan Linux binari. Ini berarti Anda dapat menambahkan direktori yang berisi file .exe ke path dan kemudian mengeksekusi file .exe tersebut secara langsung. Misalnya, untuk menambahkan direktori System32 ke jalur Anda, Anda akan menjalankan:

ekspor PATH = $ PATH: / mnt / c / Windows / System32

Anda kemudian dapat menjalankan file .exe Windows yang terletak di folder System32 secara langsung, seperti:

PING.exe example.com
notepad.exe
cmd.exe / C dir

Cara Menyambungkan Output dari Satu Perintah ke Perintah Lainnya

Output dari perintah Windows dapat disalurkan ke perintah Linux, dan sebaliknya. Misalnya, Anda dapat menggunakanipconfig.exe -all perintah untuk mencantumkan detail tentang antarmuka jaringan Anda dan menyalurkannya ke Linux grep perintah untuk mencari output. Misalnya, untuk mencantumkan semua informasi tentang koneksi Anda dan mencari bagian yang cocok dengan “Alamat IPv4”, Anda akan menjalankan:

/mnt/c/Windows/System32/ipconfig.exe -all | grep "Alamat IPv4"

Itulah proses dasarnya. Perintah-perintah ini juga akan bekerja ketika dimasukkan ke dalam skrip Bash, sehingga Anda dapat menulis skrip Bash yang menggabungkan baik perintah Windows dan utilitas Linux. Jika berjalan di shell Bash, itu akan bekerja dalam skrip Bash.

Dan, jika Anda ingin menggunakan cara lain, Anda dapat menggunakan perintah "bash -c" untuk menjalankan perintah Bash dari Command Prompt Windows standar.