GNU/Linux >> Belajar Linux >  >> Linux

Alias ​​dalam proses subkulit / anak

Alias ​​​​tidak diwariskan. Itu sebabnya mereka secara tradisional diatur dalam bashrc dan bukan profile . Sumber script.sh Anda dari .bashrc Anda atau yang seluruh sistem sebagai gantinya.


Jika Anda ingin mereka diwariskan ke sub-kulit, gunakan fungsi sebagai gantinya. Itu dapat diekspor ke lingkungan (export -f ), dan sub-kulit kemudian akan menentukan fungsi tersebut.

Jadi, untuk salah satu contoh Anda:

rmvr() { rm -rv "[email protected]"; }
export -f rmvr

Jika Anda memiliki banyak dari mereka, setel untuk ekspor terlebih dahulu:

set -a # export the following funcs
rmvr() { rm -rv "[email protected]"; }
cpvr() { cp -rv "[email protected]"; }
mvrv() { mv -rv "[email protected]"; }
set +a # stop exporting

Itu karena /etc/profile.d/ hanya digunakan oleh shell login interaktif. Namun, /etc/bash.bashrc digunakan oleh shell non-login interaktif.

Seperti biasanya saya menyetel beberapa alias global untuk sistem, saya sudah mulai membuat /etc/bashrc.d tempat saya dapat meletakkan file dengan beberapa alias global:

    HAVE_BASHRC_D=`cat /etc/bash.bashrc | grep -F '/etc/bashrc.d' | wc -l`

    if [ ! -d /etc/bashrc.d ]; then
            mkdir -p /etc/bashrc.d
    fi
    if [ "$HAVE_BASHRC_D" == "0" ]; then
        echo "Setting up bash aliases"
            (cat <<-'EOF'
                                    if [ -d /etc/bashrc.d ]; then
                                      for i in /etc/bashrc.d/*.sh; do
                                        if [ -r $i ]; then
                                          . $i
                                        fi
                                      done
                                      unset i
                                    fi
                            EOF
            ) >> /etc/bash.bashrc

    fi

Linux
  1. Linux – Bagaimana Cara Mengatur Afinitas Prosesor Suatu Proses Di Linux?

  2. Periksa Apakah Proses Menjalankan Mac Os X Kemudian Jalankan Kode?

  3. Mengarahkan Output Subkulit ke Proses?

  1. Linux – Perintah Untuk Menjalankan Proses Anak “offline” (tanpa Jaringan Eksternal) Di Linux?

  2. Bagaimana cara membuat proses anak mati setelah orang tua keluar?

  3. Bagaimana menemukan semua proses anak?

  1. Bagaimana cara mendapatkan nilai pengembalian dari PROSES ANAK?

  2. Bagaimana cara mengatur direktori kerja dari proses induk?

  3. Bagaimana cara melacak proses anak menggunakan strace?