Pertama saya menggunakan Mac.
Selanjutnya, saya harus menjalankan "file.sh" ini, kita akan menyebutnya. Setiap kali saya perlu menjalankannya saya harus membuka Terminal dan mengetik:
cd /Users/Jacob/Documents/folderWithFileInIt
bash file.sh
Ini oke, tapi saya merasa akan jauh lebih cepat jika saya membuat file dieksekusi pada klik ganda, bukan begitu?
Jadi pertanyaan saya adalah, bagaimana cara membuat file ini dapat dieksekusi melalui klik ganda?
Ide saya adalah:
a) ketikkan sesuatu seperti chmod ke terminal dan ubah izin?
b) membuat file, memasukkan kode yang saya tulis di atas ^ dan kemudian membuat file itu dapat dieksekusi?
c) entah bagaimana membuat otomatisasi untuk melakukan ini?
Jalan mana yang terbaik, atau adakah jalan yang lebih baik? Tolong jelaskan sebanyak mungkin, saya baru di Terminal. Terima kasih.
sumber
Jawaban:
Secara default,
*.sh
file dibuka di editor teks (Xcode atau TextEdit). Untuk membuat skrip shell yang akan dijalankan di Terminal saat Anda membukanya, beri nama dengan ekstensi "perintah", misalnya,file.command
,. Secara default, ini dikirim ke Terminal, yang akan mengeksekusi file sebagai skrip shell.Anda juga perlu memastikan file tersebut dapat dieksekusi, misalnya:
Tanpa ini, Terminal akan menolak untuk mengeksekusinya.
Perhatikan bahwa skrip tidak harus diawali dengan
#!
awalan dalam skenario khusus ini, karena Terminal secara khusus mengatur untuk mengeksekusinya dengan shell default Anda. (Tentu saja, Anda dapat menambahkan#!
baris jika Anda ingin menyesuaikan shell mana yang digunakan atau jika Anda ingin memastikan bahwa Anda dapat menjalankannya dari baris perintah saat menggunakan shell yang berbeda.)Perhatikan juga bahwa Terminal mengeksekusi skrip shell tanpa mengubah direktori kerja. Anda harus memulai skrip dengan
cd
perintah jika Anda benar-benar membutuhkannya untuk dijalankan dengan direktori kerja tertentu.sumber
cd "`dirname "$0"`"
untuk mengatur direktori kerja saat ini ke direktori tempat skrip shell Anda berada.open -n ...
perintah. Ini berfungsi, tetapi setiap kali jendela Terminal terbuka dan menunjukkan kepada saya "[Proses selesai]". Apakah mungkin untuk mencegah tampilan jendela Terminal entah bagaimana?Hapus ekstensi sama sekali lalu klik dua kali. Kebanyakan skrip shell sistem seperti ini. Selama ia memiliki shebang, itu akan berhasil.
sumber
Anda bisa memberi tahu Finder untuk membuka
.sh
file di Terminal:Ini akan memiliki efek yang sama persis seperti mengubah nama menjadi
.command
kecuali ... Anda tidak harus mengubah nama itu :)sumber
Nama file harus di bawah tanda kutip ganda. Karena saya menggunakan Mac-> Dalam kasus saya konten file batch adalah
cd / Pengguna / NamaAnda / Dokumen / SeleniumServer
java -jar selenium-server-standalone-3.3.1.jar -role hub
Pasti akan berhasil
sumber
Anda dapat mengubah file yang dapat dieksekusi dengan menggunakan
chmod
seperti inidan gunakan perintah ini untuk mengeksekusi
sumber