![為什麼「bc」在一台電腦上讀取我的設定檔而不是另一台電腦上的?](https://rvso.com/image/231073/%E7%82%BA%E4%BB%80%E9%BA%BC%E3%80%8Cbc%E3%80%8D%E5%9C%A8%E4%B8%80%E5%8F%B0%E9%9B%BB%E8%85%A6%E4%B8%8A%E8%AE%80%E5%8F%96%E6%88%91%E7%9A%84%E8%A8%AD%E5%AE%9A%E6%AA%94%E8%80%8C%E4%B8%8D%E6%98%AF%E5%8F%A6%E4%B8%80%E5%8F%B0%E9%9B%BB%E8%85%A6%E4%B8%8A%E7%9A%84%EF%BC%9F.png)
我有兩台舊機器,運行 CentOS 6.5 和 CentOS 6.10。兩者都安裝了 bc 1.06.95-1.el6。一種讀取 $HOME/.bc.rc,另一種則不讀取。為什麼 ? (如何??)
strace 顯示幾乎相同的輸出,只是讀取設定檔。這些庫是相同的。
答案1
原來我已經定義了環境BC_ENV_ARGS
變數(GNU 特定)可以在一台機器上$HOME/.bc.rc
使用~/.bashrc
,但不能在另一台機器上使用。
strace
不追蹤環境變數檢索,因為這不涉及系統呼叫(並且系統呼叫追蹤-v
需要execve()
包含環境)。
我已經scale=3
設定了.bc.rc
,所以預設得到3位小數。