Bagaimana saya bisa membuat perintah terminal khusus (untuk menjalankan skrip)?


36

Saya seorang pengembang web. Ketika saya ingin mulai bekerja, saya selalu menjalankan beberapa perintah pada terminal. Sebagai contoh:

sudo service apache2 start
sudo service mysql start
sublime

Untuk mempercepat proses ini, saya membuat .shfile yang berisi perintah-perintah ini.

Sekarang, ketika saya ingin mulai bekerja, saya hanya menjalankan file .sh ini dan semua layanan (mysql, apache2 dll.) Dimulai.

Apakah mungkin membuat perintah khusus untuk ini? Sebagai contoh jika saya mengetik sudo start-workingke terminal, ia akan menjalankan perintah ini

Jawaban:


58

Cara umum orang menangani ini adalah membuat bindirektori di direktori home mereka:mkdir ~/bin

Kemudian, Anda dapat menempatkan skrip khusus di sana: mv start-working ~/bin

Pastikan skrip Anda dapat dieksekusi: chmod +x ~/bin/start-working

Tambahkan ini ke bagian bawah ~/.bashrcfile Anda (jika Anda menggunakan bash, mungkin Anda memang demikian):export PATH=$PATH:~/bin

Sekarang masuk kembali dan keluar dari terminal Anda dan Anda harus bisa mengetik start-working, dan skrip Anda akan dijalankan.

Sekarang setelah path Anda siap, skrip baru apa pun yang Anda masukkan ke dalam, ~/binAnda cukup mengetikkan nama.


13
+1, dan alih-alih keluar dan masuk, Anda cukup menjalankan source ~/.bashrcatau . ~/.bashrcmemerintahkan untuk menerapkan perubahan.
Meysam

Joe Oppegaard, saya menemukan informasi yang sangat berguna ini karena ada skrip lengkap yang saya miliki dan ingin dijalankan sebagai perintah daripada skrip. Apakah ada cara untuk memasukkan semua subdirektori yang Anda buat di ~ / bin sehingga Anda tidak harus memasukkan banyak baris ekspor di .bashrc? Saya mencoba export PATH=$PATH:~/bin/*tetapi itu tidak mengembalikan hasil yang diinginkan.
Kevin Wyman

2
Defaultnya ~/.profilesudah ditambahkan ~/binke PATH, jadi menambahkannya sebagai ~/.bashrctambahan akan menambah dua kali atau lebih.
geirha

Ini bekerja tanpa saya menambahkan apa pun ke .bashrc, jadi Anda mungkin dapat mengabaikannya seperti yang dikatakan geriha
Aaron Flores

dalam pengalaman saya, ketika Anda menambahkan file baru Anda harus mengulang perintah chmod, jika tidak izin akan ditolak
Webwoman

15

Saya mencari cara membuat perintah khusus dan saya menemukan pertanyaan ini antara lain. Saya pikir apa yang saya cari adalah alias jadi saya akan memberi Anda cara untuk melakukan ini dengan alias.

Di folder rumah Anda:

nano .bash_aliases

Dan di sana Anda dapat menuliskan perintah Anda dalam satu baris:

alias start-working='sudo service apache2 start; sudo service mysql start; sublime'

Setelah menyimpan file, konfigurasikan ulang bashrc Anda

. ~/.bashrc

Dan periksa alias baru Anda sudah dimuat

alias

Itu saja, Anda dapat mulai bekerja sekarang dengan berlari

start-working
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.