(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.