เมื่อดูที่ผลลัพธ์ของenv
ฉันพบว่ามีฟังก์ชั่นต่อไปนี้
BASH_FUNC_mc%%=() { . /usr/share/mc/mc-wrapper.sh
}
เนื้อหาของไฟล์ /usr/share/mc/mc-wrapper.sh มีดังต่อไปนี้
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
สิ่งที่ทำ%%
อักขระหมายถึงในชื่อฟังก์ชัน? พวกเขาทำให้มันเป็นฟังก์ชั่นที่เรียกใช้ในกรณีที่เฉพาะเจาะจงหรือพวกเขาอนุญาตให้ฉันเรียกมันแตกต่างจากฟังก์ชั่นอื่น ๆ ?
ฉันใช้ openSUSE 42.3 พร้อม Bash รุ่น 4.3.42 (1) - ปล่อย (x86_64-suse-linux-gnu) ถ้านั่นสร้างความแตกต่าง
=
หลังจากนั้นก็มีเครื่องหมายเท่ากับ%%
! ซึ่งทำให้เกิดการมอบหมายที่นั่น