Bagaimana cara membuat perintah khusus di Unix / Linux? [Tutup]

55

Adakah yang bisa membimbing saya untuk membuat perintah khusus di Unix / Linux.

Qadir Hussain
sumber
2
Untuk referensi di masa mendatang, Anda harus memeriksa halaman fakta. Ini menjelaskan hal-hal yang harus Anda masukkan dalam pertanyaan Anda. (seperti memposting hal-hal yang telah Anda teliti & coba). Itu sebabnya seseorang memberikan pertanyaan ini.
Pengamen

Jawaban:

68

Buat skrip bash di folder / usr / bin Anda, seharusnya terlihat seperti ini

#!/bin/bash
Whatever combination of commands you want to run when you type this thing.

Sangat mudah.

Cukup beri nama skrip bash apa yang ingin Anda ketikkan ke terminal, dan buat itu bisa dieksekusi: chmod +x filenamedan Anda siap berangkat!

Eric
sumber
1
Bisakah Anda memodifikasi ini menjadi panduan langkah demi langkah, termasuk setiap langkah yang diperlukan? Saya masih tidak yakin bagaimana membuat perintah kustom saya sendiri.
Yoda
5
@AndersMB, Anda perlu membaca buku . Ada banyak yang bagus, bahkan tersedia gratis. Mulai dengan "The Linux Command Line" .
Wildcard
Umm .. dia bercanda. Dia sedang bercanda, kan ?!
Somenath Sinha
1
dieksekusi dengan./filename
Squirrl
46
  1. Buat direktori say "bin" di bawah direktori home Anda.
  2. Perbarui variabel jalur Anda untuk menyertakan direktori tempat sampah ini. Masukkan ini .profileatau .bash_proflefile untuk membuatnya permanen.

    export PATH=$PATH":$HOME/bin"

  3. Buat skrip katakan, "halo" dan simpan di direktori tempat sampah Anda. Berikan izin eksekusi ke skrip halo oleh $ chmod +x hello.

    #!/bin/bash    
    echo My first program
  4. Muat ulang .profileatau .bash_profle:

    $ . ~/.bash_profile

  5. Dari direktori mana pun, Anda cukup mengetik:

    $ hello
    My first program
Guru
sumber
Saya tahu ini sudah sangat lama tetapi saya telah melihat saran Anda untuk membuat binfolder di banyak jawaban di sini. Apakah ada masalah jika itu .binbukan bin? Saya benar-benar pilih-pilih tentang bagaimana homepenampilan saya dan saya tidak ingin folder tambahan hanya karena.
MO
Saya telah mencoba menggunakan ini tidak berhasil dan sangat frustasi untuk sementara berpikir ada sesuatu yang salah dengan zshinstal saya atau $PATHtetapi ternyata karena chmod -x hellotidak berfungsi, modal juga tidak -X. Sebaliknya saya mencoba chmod 755 hello, sementara saya tidak yakin dengan risiko keamanan sehubungan dengan perintah ini sebenarnya membiarkan saya berjalan hello. Adakah yang punya penjelasan untuk ini? Saya berasumsi itu masalah dalam hal usia?
ConstantFun
1
@ConstantFun Gunakan chmod +x hellountuk menambahkan hak istimewa 'run' ke skrip. chmod -x hellomelakukan kebalikannya - menghapus hak istimewa 'lari'. (Perhatikan perbedaan tanda plus / minus dalam jawaban dan komentar Anda.)
Filip Happy
25

Mudah, buat alias.

Katakanlah Anda ingin menulis perintah ke cd ke direktori unduhan Anda. Dan Anda ingin menyebutnya cdd.

alias cdd='cd ~/Downloads' 

Anda dapat membuat perintah yang Anda inginkan.

Berikut ini informasi lebih lanjut:
http://www.mediacollege.com/linux/command/alias.html

spuder
sumber
6
Ini tidak bertahan di seluruh sesi. Perintah ini berfungsi, tetapi tidak permanen. Cara yang lebih permanen adalah dengan memodifikasi file ~ / .bash_aliases Anda dan tambahkan baris yang Anda sarankan di sana.
Jeff Grimes
2
Juga berfungsi dengan menambahkannya ke file ~ / .bashrc Anda
Delicia Brummitt
11

Sebagian besar, jika tidak semua sekarang, distribusi Linux memiliki skrip kecil di ~ / .bashrc yang terlihat hampir identik dengan ini:

if [ -e ~/.bash_aliases ]
then
. ~/.bash_aliases
fi

Ini hanya berarti Anda dapat membuat perintah sendiri (juga dikenal sebagai ' aliases' biasanya merujuk pada perintah yang ada dengan beberapa argumen yang selalu harus Anda gunakan, atau daftar perintah yang harus dijalankan secara berurutan).

Distribusi Linux Anda kemungkinan besar tidak memiliki file .bash_aliases dibuat di rumah Anda, kecuali Anda sudah melakukannya secara manual. Jadi untuk membuat file, ketikkan perintah berikut:
touch ~/.bash_aliases

Sekarang file itu akan dieksekusi secara otomatis setiap kali Anda mematikan Terminal baru.

Apa yang dapat Anda lakukan sekarang adalah membuat daftar alias dan menambahkannya ke file itu untuk digunakan nanti. Sebagai contoh, perintah rm(hapus) secara default TIDAK meminta Anda untuk mengkonfirmasi permintaan Anda ketika Anda mengatakannya untuk menghapus file / direktori. Namun, ada argumen yang rmmeminta Anda untuk mengonfirmasi permintaan Anda -i,. Jadi, rm -i filePathakan muncul pesan yang menanyakan apakah Anda yakin ingin menghapus file yang ditentukan. Sekarang, jika Anda secara tidak sengaja menghapus file, Anda kemungkinan besar akan lupa untuk menyertakan -iopsi, dan di situlah aliasmenjadi menjadi sangat bermanfaat. Mengetik perintah berikut

echo "alias rm='\rm -i'" >> ~/.bash_aliases

akan memberi tahu Bashbahwa setiap kali Anda meminta untuk menghapus file, pesan konfirmasi akan ditampilkan kepada Anda. Tentu saja, ada banyak lagi yang bisa Anda lakukan — ini hanya dasar-dasarnya.

Jika Anda ingin belajar bagaimana menggunakan beberapa perintah dasar (yaitu cd, touch, rm, mkdir, pushd, popd, dll) dan / atau yang lebih canggih, saya akan merekomendasikan buku yang sangat baik Anda dapat memiliki di rak buku Anda sebagai referensi disebut

panduan praktis untuk perintah linux editor dan pemrograman shell , oleh Mark G. Sobell . ISBN: 978-0133085044

Fadi Hanna AL-Kass
sumber
1
mengapa backslash?
phil294