亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

$$在外殼中是什么意思?

$$在外殼中是什么意思?

我曾經讀過一種在外殼中為臨時文件獲取唯一文件名的方法是使用雙美元符號($$)。這確實會產生不時變化的數字...但是,如果您反復調用它,它將返回相同的數字。(解決方案是只使用時間。)我很好奇到底$$是什么,為什么會建議將其作為生成唯一文件名的一種方式。
查看完整描述

3 回答

?
絕地無雙

TA貢獻1946條經驗 獲得超4個贊

$$是bash中的進程ID(PID)。使用$$是個壞主意,因為它通常會創建競爭條件,并允許攻擊者破壞您的shell腳本。見,例如,所有這些人誰創建不安全的臨時文件,并不得不發布安全公告。


而是使用mktemp。mktemp的Linux手冊頁非常棒。以下是其中的一些示例代碼:


tempfoo=`basename $0`

TMPFILE=`mktemp -t ${tempfoo}` || exit 1

echo "program output" >> $TMPFILE


查看完整回答
反對 回復 2019-10-26
  • 3 回答
  • 0 關注
  • 839 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號