Melihat output env
, saya perhatikan ada juga fungsi berikut.
BASH_FUNC_mc%%=() { . /usr/share/mc/mc-wrapper.sh
}
Isi file /usr/share/mc/mc-wrapper.sh adalah sebagai berikut.
MC_USER=`id | sed 's/[^(]*(//;s/).*//'`
MC_PWD_FILE="${TMPDIR-/tmp}/mc-$MC_USER/mc.pwd.$$"
/usr/bin/mc -P "$MC_PWD_FILE" "$@"
if test -r "$MC_PWD_FILE"; then
MC_PWD="`cat "$MC_PWD_FILE"`"
if test -n "$MC_PWD" && test -d "$MC_PWD"; then
cd "$MC_PWD"
fi
unset MC_PWD
fi
rm -f "$MC_PWD_FILE"
unset MC_PWD_FILE
Apa arti %%
karakter dalam nama fungsi? Apakah mereka menjadikannya fungsi yang dipanggil dalam kasus tertentu, atau apakah mereka mengizinkan saya untuk memanggilnya secara berbeda dari fungsi lain?
Saya menggunakan openSUSE 42.3, dengan Bash versi 4.3.42 (1) -release (x86_64-suse-linux-gnu), jika itu membuat perbedaan.
sumber
=
setelah itu ada tanda yang sama%%
! Yang menyebabkan penugasan di sana.env
mencetak definisi fungsi.