bashの$$ 1の意味は何ですか?


27

私は実際に議論をして遊んでいます。入力したらどうなるか見てみたいと思ったの$$1ですが、それを実行して下にあるものを取得しました。

raja@raja-BONEFISH:~$ $$1
19301: command not found

19301とはどういう意味ですか?

結論:$$1bashで何を意味するか。


1
痛い!! そんなに簡単なことです。私はまだ学ぶべきことがたくさんあります。すべての答えは超です。すべてに+1。
rɑːdʒɑ

回答:


27

$$ 現在のプロセスのPID(プロセスID)です。

$$1上記のPIDにリテラル文字列が続きます1

だから、それはあなたbashがPID 1930のプロセスであることを伝えています。

しかし...無料のトリック:

show() { eval echo \$$1; }
show PATH
/home/romano/bin:/usr/local/bin:/bin:/usr/bin

(かなり複雑ですよね?)

TLDPの詳細情報。



1
しばらくの間、TLDPを「あまりにも長い間おしっこしなかった」と読みました。
ルイスアルバラード

13
  • $$-現在のシェル(サブシェルではない)のpid- 特別なドル記号シェル変数とは?

  • $$1-現在のシェル(サブシェルではない)のpidの後に1

  • $$2-現在のシェル(サブシェルではない)のpidの後に2

  • $$a-現在のシェル(サブシェルではない)のpidとそれに続くa文字。

  • 等々...

の出力を参照してくださいecho $$1

そして、command not found明らかにコマンドではない数字で構成される文字列を実行しようとしているため、エラーが発生します。


10

あなたは連結している$$1一緒に現在のシェルのPIDを取得すると、1すなわち、$$現在実行中のシェルのPIDを意味し、1単に文字、あなたが行うことができている$$a$$@PIDは、次の文字を連結し取得します。


6

それは国家なり$$ 1930であるPID現在のシェルの。

入力$$1すると、pidの後に1が続くことを意味するので、出力は19301

$$2出力を試してみてください19302

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.