Beranda » bagaimana » Cara Menjalankan Program Windows dari Bash Shell Windows 10

    Cara Menjalankan Program Windows dari Bash Shell Windows 10

    Dalam Pembaruan Pembuat, Bash shell Windows 10 sekarang memungkinkan Anda untuk menjalankan binari Windows dan perintah Prompt Perintah standar, langsung dari Bash. Anda dapat menjalankan program Linux dan Windows dari Bash shell 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 Bash shell 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 Bash shell sebagai Administrator.
    • Direktori Kerja: Program Windows berbagi "direktori kerja" yang sama dengan Bash shell. Jadi, jika Anda menjalankan perintah yang mencantumkan konten direktori saat ini, itu akan mendaftar konten direktori yang aktif di Bash shell. Menggunakan CD perintah untuk mengubah direktori kerja.

    Dengan mengingat hal itu, mari kita lihat bagaimana menjalankan suatu program.

    Cara Menjalankan Program Windows

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

    Katakanlah Anda ingin meluncurkan utilitas Ping yang terletak di C: \ Windows \ System32 \ PING.EXE. Anda telah 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 path berisi karakter kompleks seperti spasi dan tanda kurung, seperti folder Program Files. Anda harus "melarikan diri" spasi, tanda kurung, dan karakter kompleks lainnya dengan mengawali 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

    Catat "\" sebelum karakter spasi dan braket. Karakter-karakter ini harus "lolos" atau Bash tidak akan menyadari bahwa karakter adalah bagian dari jalur file.

    Cara Melewati Argumen ke Perintah

    Shell Bash meneruskan argumen secara 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 menyampaikan argumen secara langsung. Notepad.exe dan program Windows lainnya mengharapkan jalur file Windows.

    Cara Menjalankan Perintah Built-in

    Beberapa perintah Windows bukan file .exe, tetapi dibangun ke dalam Command Prompt itu sendiri. Misalnya, ini termasuk dir perintah yang biasanya Anda jalankan di Command Prompt. Untuk menjalankan perintah seperti itu, Anda perlu menjalankan cmd.exe biner yang terkait dengan Command Prompt dan meneruskannya perintah sebagai argumen dengan / C, seperti:

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

    Misalnya, untuk menjalankan dir perintah yang dibangun ke dalam Command Prompt, Anda akan menjalankan perintah berikut:

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

    Cara Menambahkan Direktori ke Path

    Layanan Windows untuk lingkungan Linux memperlakukan executable Windows mirip dengan cara memperlakukan binari Linux. Ini berarti bahwa Anda dapat menambahkan direktori yang berisi file .exe ke jalur dan kemudian jalankan 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 Windows .exe yang terletak di folder System32 secara langsung, seperti:

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

    Cara Menyalurkan Output dari Satu Perintah ke Perintah Lain

    Output dari perintah Windows dapat disalurkan ke perintah Linux, dan sebaliknya. Misalnya, Anda dapat menggunakan ipconfig.exe -semua perintah untuk mendaftar detail tentang antarmuka jaringan Anda dan pipa itu ke Linux grep perintah untuk mencari output. Misalnya, untuk mendaftar semua informasi tentang koneksi Anda dan mencari bagian yang cocok dengan "Alamat IPv4", Anda akan menjalankan:

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

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

    Dan, jika Anda ingin pergi ke arah lain, Anda dapat menggunakan perintah "bash -c" untuk menjalankan perintah Bash dari Prompt Perintah Windows standar.