Linux
當使用 su - <someuser> 切換使用者時,.bash_profile 中的一行將列印到控制台
當我 su - 時,我的 ~/.bash_profile 中的特定行會列印到控制台。以下是展示此場景的輸出。
$ whoami admin $ su - spark Password: Last login: Fri Mar 6 21:30:22 +08 2020 on pts/2 [1]+ Done export JDBC=jdbc:postgresql://192.168.100.117/test?user=spark $
我不明白為什麼該行
export JDBC=jdbc:postgresql://192.168.100.117/test?user=spark
被列印到控制台。該行是我的 ~/.bash_profile 使用者 spark 中的一行。我已經檢查過
/etc/profile
,/etc/profile.d/sh.local
但沒有發現任何異常。也添加set echo off
到~/.bash_profile
但該行仍然被列印時su -
原因是在使用者中
.bash_profile
,spark
您可能有如下行:export JDBC=jdbc:postgresql://192.168.100.117/test?user=spark &
最後的這個&符號(
&
)導致該命令作為後台作業執行。或者你有類似的東西
.bash_profile
:export JDBC=jdbc:postgresql://192.168.100.117/test?user=spark¶meter=something
和符號 (
&
) 再次導致此問題。您可以將行更改為export JDBC='jdbc:postgresql://192.168.100.117/test?user=spark¶meter=something'
避免它