GNU/Linux >> Belajar Linux >  >> Ubuntu

Membuat Script Bash Pertama, Tidak Bisa Mendapatkan Perintah Cd Untuk 'menempel.'?

Pertanyaan ini sudah memiliki jawaban di sini :Bagaimana cara membuat alias untuk cd dan ls?

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


Ubuntu
  1. Jalankan perintah bash pada pipa jenkins

  2. Bagaimana cara cepat mengubah kata pertama dalam perintah Bash?

  3. Cara mengatur /etc/issues untuk menampilkan alamat IP untuk eth0

  1. Bagaimana Linux Menangani Beberapa Pemisah Jalur Berturut-turut (/home////username///file)?

  2. Perbedaan Antara ~/.profile, ~/.bashrc, ~/.bash_profile, ~/.gnomerc, /etc/bash_bashrc, /etc/screenrc …?

  3. Secara Otomatis Memasukkan Input Di Baris Perintah?

  1. Bagaimana /etc/motd Diperbarui?

  2. Sejarah Perintah Tampaknya Hilang 75 Baris Pertama?

  3. Ubuntu 14.04 "tidak Mendapatkan Uri Pemutaran Saat Masuk File:///*"?