Saya sebenarnya bermain dengan argumen dan itu terjadi. Saya hanya berpikir ingin melihat apa yang akan terjadi jika saya mengetik $$1
dan saya melakukannya dan mendapatkan sesuatu di bawah.
raja@raja-BONEFISH:~$ $$1
19301: command not found
Apa maksudnya tahun 19301, apakah ia mengatakan sesuatu?
Bottom-Line: apa artinya $$1
dalam bash.
Jawaban:
$$
adalah PID (id proses) dari proses saat ini.$$1
adalah PID di atas diikuti oleh string literal1
.Jadi ini memberitahu Anda bahwa Anda
bash
adalah proses dengan PID 1930.Tapi ... trik gratis:
(Cukup berbelit-belit, bukan?)
Info lebih lanjut di TLDP .
sumber
$$
- pid dari shell saat ini (bukan subkulit) - lihat Apa variabel shell tanda dolar khusus?$$1
- pid dari shell saat ini (bukan subkulit) diikuti oleh1
.$$2
- pid dari shell saat ini (bukan subkulit) diikuti oleh2
.$$a
- pid dari shell saat ini (bukan subkulit) diikuti oleha
karakter.Dan seterusnya...
Lihat output dari
echo $$1
.Dan Anda mendapatkan kesalahan
command not found
karena Anda mencoba untuk mengeksekusi string yang terdiri dari digit yang jelas bukan perintah.sumber
Anda telah menyatukan
$$
dan1
bersama - sama untuk mendapatkan PID dari shell saat ini dan1
, yaitu$$
singkatan dari PID dari shell yang sedang berjalan dan1
hanya sebuah karakter, Anda bisa melakukannya$$a
,$$@
untuk mendapatkan PID yang digabungkan dengan karakter berikut.sumber
$$ itu akan menyatakan
1930
yang mana pid dari shell saat ini.Ketika Anda mengetik
$$1
itu berarti pid diikuti oleh satu sehingga Anda hasilnya akan19301
.Coba
$$2
hasilnya nanti19302
sumber