(6 jawaban)
Tutup 6 tahun lalu.
Untuk skrip bash pertama saya, saya ingin membuat sesuatu yang benar-benar mengganggu saya:ketika saya berpindah folder, saya ingin konten folder itu ditampilkan secara otomatis. Saya mencoba menambahkan kode berikut ini ke ~/.bashrc:
alias go='cd; ls'
Cukup sederhana saya pikir! Tidak begitu. Saat mengetik go /etc memang mencantumkan isi /etc, direktori kerja saya sebenarnya tidak berubah, saya masih di direktori tempat saya sebelumnya. Bagaimana cara mengatasinya?
Jawaban yang Diterima:
Dalam contoh Anda, go /etc akan melakukan cd; ls /etc . Artinya, pertama, cd akan mengubah direktori saat ini ke direktori home Anda. Kemudian, ls /etc akan menampilkan isi /etc .
Anda dapat mencapai apa yang Anda inginkan dengan mendefinisikan suatu fungsi, seperti:
function go() {
cd "$1" && ls
}
Atau cukup ketik di baris perintah pada satu baris:
function go() { cd "$1" && ls; }
Kemudian go /etc akan melakukan apa yang Anda inginkan.
$1 mengacu pada parameter pertama yang diteruskan ke perintah dalam contoh ini /etc . Anda dapat merujuk ke parameter berikutnya dengan $2 , $3 dan seterusnya.