Meskipun Anda tahu apa yang Anda lakukan, ini tidak semudah kelihatannya. Windows dan UNIX menggunakan karakter end-of-line yang berbeda, dan sistem file Windows dapat diakses di lokasi yang berbeda di lingkungan Bash.
Cara Menulis Skrip Bash pada Windows 10
Saat menulis skrip shell di Windows, harap diingat bahwa sistem Windows dan UNIX seperti Linux menggunakan karakter "akhir baris" yang berbeda dalam file teks dalam skrip shell.
Dengan kata lain, ini berarti Anda tidak dapat sekadar menulis skrip shell di Notepad. Simpan file di Notepad dan tidak akan ditafsirkan dengan benar oleh Bash. Namun, Anda dapat menggunakan editor teks yang lebih canggih - misalnya, Notepad ++ memungkinkan Anda untuk memberi karakter UNIX akhir baris dengan mengklik Edit> EOL Conversion> UNIX / OSX Format.
Misalnya, untuk membuat skrip bash di nano, Anda menjalankan perintah berikut di bash:
nano ~/myscript.sh
Ini akan membuka editor teks Nano menunjuk pada file bernama "myscript.sh" di direktori home akun pengguna Anda. (Karakter "~" mewakili direktori home Anda, jadi path lengkapnya adalah /home/username/myscript.sh.)
#!/bin/bash
Masukkan perintah yang ingin Anda jalankan, masing-masing pada barisnya sendiri. Script akan menjalankan setiap perintah secara bergantian. Tambahkan karakter "#" sebelum garis untuk memperlakukannya sebagai "komentar", sesuatu yang membantu Anda dan orang lain memahami naskah tetapi tidak dijalankan sebagai perintah. Untuk trik lebih lanjut, bacalah panduan yang lebih rinci untuk skrip Bash di Linux. Teknik yang sama akan bekerja di Bash pada Ubuntu di Windows.
Perhatikan bahwa tidak ada cara untuk menjalankan program Windows dari dalam lingkungan Bash. Anda dibatasi untuk perintah dan utilitas terminal Linux, seperti halnya sistem Linux pada umumnya.
Misalnya, mari gunakan skrip "hello world" sebagai contoh di sini:
#!/bin/bash # set the STRING variable STRING='Hello World!' # print the contents of the variable on screen echo $STRING
Jika Anda menggunakan editor teks Nano, Anda dapat menyimpan file dengan menekan Ctrl + O lalu Enter. Tutup editor dengan menekan Ctrl + X.
Buat Script Dapat Dieksekusi, lalu Jalankan
Anda mungkin ingin membuat skrip dapat dieksekusi sehingga Anda dapat menjalankannya dengan lebih mudah. Di Linux, itu berarti Anda harus memberikan file skrip izin yang dapat dieksekusi. Untuk melakukannya, jalankan perintah berikut di terminal, arahkan ke skrip Anda:
chmod +x ~/myscript.sh
~/myscript.sh
(Jika skrip ada di direktori saat ini, Anda dapat menjalankannya dengan./myscript.sh)
Cara Bekerja Dengan File Windows di Skrip Bash
Untuk mengakses file Windows di skrip, Anda harus menentukan jalurnya di bawah / mnt / c, bukan jalur Windows mereka. Misalnya, jika Anda ingin menentukan file C: Users Bob Downloads test.txt, Anda harus menentukan jalur /mnt/c/Users/Bob/Downloads/test.txt. Lihat panduan kami untuk lokasi file di shell Bash Windows 10 untuk lebih jelasnya.
Cara Memasukkan Perintah-Perintah Bash ke dalam Skrip Batch atau PowerShell
Terakhir, jika Anda memiliki file batch yang ada atau skrip PowerShell yang ingin Anda gabungkan perintah, Anda dapat menjalankan perintah Bash secara langsung menggunakan
bash -c
perintah.
Sebagai contoh, untuk menjalankan perintah Linux di jendela Command Prompt atau PowerShell, Anda dapat menjalankan perintah berikut:
bash -c 'command'
Trik ini memungkinkan Anda untuk menambahkan perintah Bash ke dalam file batch atau skrip PowerShell. Jendela shell Bash akan muncul ketika perintah Bash sedang berjalan.
Memperbarui: Jika Anda memiliki beberapa lingkungan Linux yang terinstal, Anda dapat menggunakan perintah wslconfig untuk memilih lingkungan Linux default yang digunakan saat Anda menjalankan
bash -c
perintah.
Untuk membuat pintasan ke skrip Bash dari dalam Windows, cukup buat pintasan seperti biasa. Untuk target pintasan, gunakan
bash -c
perintah yang kami uraikan di atas dan arahkan ke skrip Bash yang Anda buat.
Misalnya, Anda menunjukkan pintasan di”
bash -c '~/myscript.sh'
”Untuk menjalankan skrip contoh di atas. Anda juga dapat menjalankan perintah ini dari jendela Command Prompt atau PowerShell juga.