Berikut adalah beberapa informasi dasar Unix. Tidak banyak "El Capitan" - detail spesifik disediakan, tetapi mereka tidak diperlukan untuk menyelesaikan pekerjaan. (Saya mengerti bahwa pemutakhiran ke "El Capitan" merusak sesuatu. Mungkin itu mengubah apa yang ada di jalur Anda, atau mengubah beberapa izin. Berikut adalah detail tentang cara membuat berbagai hal berfungsi.
Di DOS, file batch adalah file teks yang diakhiri dengan ".BAT" (case-insensitive, jadi ".bat" juga berfungsi). Microsoft Windows mengikuti tradisi DOS. Setiap baris dalam file batch adalah perintah yang harus dijalankan dari juru bahasa perintah.
Di Unix, termasuk Mac OS X, file "shell script" yang tepat harus memiliki header yang tepat, dan memiliki izin yang tepat. Kemudian, setelah header, setiap baris dalam file batch adalah perintah yang harus dijalankan dari interpreter perintah.
Perhatikan bahwa deskripsi itu kebanyakan sama. Terutama, sebagian besar file skrip hanyalah daftar perintah yang harus dijalankan. Perintah yang sama antara DOS dan Unix, seperti "cd ..", atau nama file yang dapat dieksekusi dalam PATH, dapat bekerja sama baiknya dengan kedua jenis file.
Jika Anda memiliki file skrip Unix yang mengatakan:
#!/bin/sh
@Echo Off
echo hello
cd .
more < readme.txt
Kemudian baris pertama file akan menyebabkan kesalahan tidak berbahaya di DOS / Windows, baris kedua file akan menyebabkan pesan kesalahan harmelss di Unix, dan sisa file dapat bekerja secara identik di kedua lingkungan.
Apakah ini benar-benar bekerja dengan baik untuk Anda, atau tidak, sebagian besar tergantung pada perintah apa yang Anda gunakan. Contohnya, " cd bin
"dapat bekerja dengan baik dengan kedua lingkungan, tetapi DOS / Windows menggunakan backslash sebagai pemisah direktori sementara Unix menggunakan garis miring. Jadi beberapa perintah mungkin tidak bekerja dengan baik.
Cara terbaik bagi kami untuk memprediksi seberapa baik file batch Anda akan bekerja dengan baik, atau tidak, adalah jika kami tahu konten file batch. Karena itu mengapa komentar barlop bertanya tentang isi file kumpulan.
Mengenai pertanyaan Anda (dari salah satu komentar Anda) ekstensi mana yang digunakan: Di DOS / Windows, jawabannya adalah ".BAT" (jumlah huruf kecil apa pun juga, jadi ".bat" juga oke.) Di Unix, standar paling umum adalah "tidak ada" (tidak ada ekstensi), atau " .sh
". Namun, di Unix, ekstensi benar-benar tidak penting. Yang penting adalah apakah file tersebut memiliki izin yang diperlukan, dan mungkin apakah itu dimulai dengan header yang sesuai. Jadi pastikan hal-hal itu benar. (Header adalah baris pertama ditunjukkan pada sampel saya sebelumnya. Izin dapat diatur menggunakan " chmod a+x filename.bat
"tetapi, tentu saja, tentukan lokasi sebenarnya dari nama file.) Ketika Anda menjalankan file di Unix, pastikan untuk menentukan seluruh nama file file skrip, termasuk ekstensi" .bat ". (Jika Anda tidak suka melakukan itu, cukup buat symlink, memiliki symlink bernama "gonow" arahkan ke "gonow.bat" (atau apa pun yang pantas).
Cara lain untuk melakukan ini di Unix adalah dengan menjalankan file .BAT dari dalam perangkat lunak lain yang mirip DOS. mis., COMMAND.COM dalam Wine, atau mungkin CMD.EXE dalam WINE, atau varian Wine lainnya seperti Crossover, atau perangkat lunak lain seperti DOSBox atau DOSemu. Jika Anda melakukannya, gunakan perangkat lunak ini yang dirancang untuk bekerja seperti DOS, maka perangkat lunak itu mungkin dapat menjalankan file tanpa mengharuskan Anda menentukan ekstensi ".bat".
Alternatif lain mungkin hanya dengan menggunakan file Shell Script yang menjalankan Java (karena konten file batch, yang disebutkan di tempat lain, menunjukkan Java sedang dijalankan), dan mengabaikan mencoba menggunakan file yang berakhir dengan ekstensi ".bat". (Jadi itu bukan file .bat, tetapi akan menjadi skrip shell atau tautan simbolik.)