19 Dari Panduan Script Bash Lanjutan, untuk mendapatkan argumen baris perintah terakhir: Atau: lastarg=${!#} Ini adalah referensi tidak langsung ke $#variabel. Perhatikan itu lastarg=${!$#}tidak berhasil. bash Flerb sumber 4 Selain itu, ABS sangat disukai sebagai referensi; lihat wooledge.org/~greybot/meta/abs untuk sejarah faktoidnya di saluran irc.freenode.org # bash. The Bash-Hacker Wiki dan Wooledge BashGuide yang tidak terkenal karena kepadatan ketidakakuratan. Dalam yang terakhir, referensi tidak langsung tercakup secara rinci dalam BashFAQ # 6 ; di bekas, wiki.bash-hackers.org/syntax/pe#indirection Charles Duffy 1 Hanya sebuah pertanyaan: Bukankah !$lebih sederhana dan sama? unxnut Jawaban: 27 Seperti dikatakan itu adalah referensi tidak langsung. Ambil contoh berikut: $ var=test $ test='Hello, world' $ echo ${!var} Hello, world Sekarang jika saya mengatur parameter posisi berikut: $ set -- one two three Dan $#akan mewakili jumlah total parameter posisi: $ echo $# 3 Ini berarti ketika saya menyebutnya seperti ${!#}saya katakan beri saya nilai parameter bernama 3: $ echo ${!#} three Jesse_b sumber
27 Seperti dikatakan itu adalah referensi tidak langsung. Ambil contoh berikut: $ var=test $ test='Hello, world' $ echo ${!var} Hello, world Sekarang jika saya mengatur parameter posisi berikut: $ set -- one two three Dan $#akan mewakili jumlah total parameter posisi: $ echo $# 3 Ini berarti ketika saya menyebutnya seperti ${!#}saya katakan beri saya nilai parameter bernama 3: $ echo ${!#} three Jesse_b sumber
!$
lebih sederhana dan sama?Jawaban:
Seperti dikatakan itu adalah referensi tidak langsung. Ambil contoh berikut:
Sekarang jika saya mengatur parameter posisi berikut:
Dan
$#
akan mewakili jumlah total parameter posisi:Ini berarti ketika saya menyebutnya seperti
${!#}
saya katakan beri saya nilai parameter bernama3
:sumber