Laman » bagaimana untuk » Bagaimana Menjalankan Program Windows dari Bash Shell Windows 10

    Bagaimana Menjalankan Program Windows dari Bash Shell Windows 10

    Dalam Pembuat Pencipta, shell Bash Windows 10 kini membolehkan anda menjalankan Windows binari dan perintah Command Prompt standard, langsung dari Bash. Anda boleh menjalankan kedua-dua program Linux dan Windows dari shell Bash sama, atau bahkan memasukkan perintah Windows ke dalam skrip Bash.

    Apa yang Anda Perlu Tahu

    Berikut adalah beberapa butiran asas yang perlu anda ketahui mengenai ciri ini:

    • Pengguna akaun: Program yang dilancarkan dari shell Bash akan dijalankan seolah-olah ia dilancarkan oleh akaun pengguna Windows semasa.
    • Kebenaran: Program ini akan mempunyai keizinan yang sama seperti proses Bash.exe. Jadi, jika anda mahu arahan ini mempunyai akses Pentadbir, anda perlu menjalankan shell Bash sebagai Pentadbir.
    • Direktori Kerja: Program Windows berkongsi "direktori kerja" sama seperti shell Bash. Jadi, jika anda menjalankan arahan yang menyenaraikan kandungan direktori semasa, ia akan menyenaraikan kandungan direktori kerja semasa dalam shell Bash. Menggunakan cd arahan untuk menukar direktori kerja.

    Dengan itu, mari kita lihat cara menjalankan program.

    Cara Menjalankan Program Windows

    Untuk menjalankan program Windows, masukkan laluan ke fail .exe program dalam shell Bash. Ingat bahawa pemacu Windows C: anda boleh didapati di / mnt / c di Bash. Persekitaran Bash juga bersifat kes, jadi anda perlu menentukan permodalan yang betul.

    Katakan anda mahu melancarkan utiliti Ping yang terletak di C: \ Windows \ System32 \ PING.EXE. Anda akan menjalankan arahan berikut:

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

    Perintah berikut tidak akan berfungsi, kerana Bash sensitif:

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

    Ini agak rumit jika laluan mengandungi watak kompleks seperti ruang dan tanda kurung, seperti folder Program Files. Anda perlu "melarikan diri" ruang, tanda kurung, dan aksara kompleks lain dengan mempersiapkan mereka dengan aksara "\".

    Sebagai contoh, katakan anda ingin menjalankan program Internet Explorer yang terletak di C: \ Program Files (x86) \ Internet Explorer \ iexplore.exe. Anda perlu menjalankan arahan berikut dalam Bash:

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

    Perhatikan "\" sebelum aksara dan ruang pendakap. Watak-watak ini mesti "melarikan diri" atau Bash tidak akan menyedari watak-watak itu adalah sebahagian daripada laluan fail.

    Bagaimana untuk Mengeluarkan Argumen kepada Perintah

    Shell Bash melepasi hujah terus kepada arahan yang anda laksanakan.

    Sebagai contoh, jika anda ingin ping example.com, anda akan menjalankan:

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

    Atau, jika anda mahu membuka fail tuan rumah Windows di Notepad, anda akan menjalankan:

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

    Anda menggunakan laluan fail Windows standard apabila menghantar laluan fail terus ke program Windows. Itu kerana Bash melepasi hujah secara langsung. Notepad.exe dan program Windows lain mengharapkan laluan fail Windows.

    Bagaimana Melaksanakan Perintah Terbina dalam

    Sesetengah arahan Windows bukan fail exe, tetapi dibina dalam Command Prompt itu sendiri. Sebagai contoh, ini termasuk dir arahan yang biasanya anda jalankan dalam Command Prompt. Untuk menjalankan arahan sedemikian, anda perlu menjalankan cmd.exe binari yang berkaitan dengan Prompt Perintah dan lulus arahan sebagai hujah dengan / C, seperti itu:

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

    Sebagai contoh, untuk menjalankan dir arahan dibina ke dalam Command Prompt, anda akan menjalankan arahan berikut:

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

    Cara Tambah Direktori ke Laluan

    Persekitaran Windows Services untuk Linux merawat executable Windows sama seperti cara memperlakukan binari Linux. Ini bermakna anda boleh menambah direktori yang mengandungi fail .exe ke laluan dan kemudian laksanakan fail .exe tersebut secara langsung. Sebagai contoh, untuk menambah direktori System32 ke laluan anda, anda akan menjalankan:

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

    Anda kemudiannya dapat menjalankan fail Windows .exe yang terletak dalam folder System32 secara langsung, seperti:

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

    Bagaimana Paip Output Satu Arahan ke Lain

    Output perintah Windows boleh disalurkan ke perintah Linux, dan sebaliknya. Sebagai contoh, anda boleh menggunakan ipconfig.exe -all arahan untuk menyenaraikan butiran mengenai antaramuka rangkaian anda dan paip ke Linux grep arahan untuk mencari output. Sebagai contoh, untuk menyenaraikan semua maklumat mengenai sambungan anda dan cari bahagian yang sepadan dengan "Alamat IPv4", anda akan menjalankan:

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

    Itulah proses asas. Perintah ini juga akan berfungsi apabila dimasukkan ke dalam skrip Bash, jadi anda boleh menulis skrip Bash yang menggabungkan kedua perintah Windows dan utiliti Linux. Jika ia berjalan di shell Bash, ia akan berfungsi dalam skrip Bash.

    Dan, jika anda ingin pergi dengan cara lain, anda boleh menggunakan perintah "bash -c" untuk menjalankan arahan Bash dari Windows Command Prompt standard.