Linux

從 bash 獲取執行的原始碼

  • September 18, 2013

好的,這是最後一次嘗試,看看我是否可以挽救我不小心做的事情。

我不小心在我的電腦上做了“ command> ~/.profile”而不是“ command>>~/.profile”。

我沒有對其進行版本控制(再也不會發生),並且由於當時沒有在編輯器中打開 .profile,因此我在任何備份文件或 Vim 緩衝區中都沒有現有版本。

在這一點上我唯一能想到的就是我仍然有一個終端會話打開,執行在我上面的錯誤之前 ~/.profile 文件中的行。我的問題是:有什麼方法可以獲取目前執行的原始碼?

如果我執行,也許更明確和通用

source ~/.profile

除了查看源文件之外,還有什麼方法可以查看在該終端會話中執行了什麼?

不過,吸取的教訓,版本你所有的點文件。

提前致謝。

-哈桑

我不知道,但根據裡面的內容,您可以在仍然打開的終端中獲得很大一部分:

這將得到您的提示定義

$ echo $ PS1

這將為您提供所有的 shell 變數和定義的函式。它可能有很多東西,因為例如在 Ubuntu 中,還有各種其他宏用於完成和未定義的東西,但你可以提取你的東西。

$設置

這會給你你的別名

$別名

這些不會為您提供 .profile 中的任何邏輯來幫助決定如何或為什麼定義上述內容,但它們可能會為您提供所需的大部分內容。

引用自:https://serverfault.com/questions/540009