2014-03-25 54 views
1

我有一個用法,我必須在其中打開一個新的tcsh。我希望當前shell中設置的別名也可以在新的tcsh shell中使用。 它不是默認設置,我想知道是否有辦法讓它工作...Unix:如何打開新的tcsh並保留別名

下面是我的問題的樣子:

> alias hello pwd 
> hello 
/home/user123 
> tcsh 
> hello 
hello: Command not found. 

**編輯**

我只是想澄清一下,我不想將別名添加到~/.aliases,因爲它們應該在特定的shell中定義,而不是在我打開的任何新shell中定義。我希望它們像環境變量一樣被「繼承」。

反正有可能嗎?

謝謝!

+0

什麼是開始一個新的進程,但想要另外一個國家的意義(沒有明確IPC共享內存等)? – Matthias

+0

我嘗試用命令打開一個xterm窗口,然後希望它是交互式的。所以,我發現用於製作這種xterm交互的通用解決方案是在最後添加「tcsh」命令(使sence)。但是之後,我傳遞給xterm的先前命令創建的別名丟失了 – SomethingSomething

+1

我認爲這是不可能的。您可以始終獲取當前別名列表(使用「別名」),並將它們寫入臨時文件,然後在新shell中再次讀取它們。 –

回答

0

我在這裏回答@Mark_Armstrong評論。

可以使用命令alias來打印所有可用的別名,並將它們保存到文件中。

然後,您可以使用一些腳本將前面的「別名」字符串添加到該文件中的每一行,並「源」它。

或者你可以遍歷使用csh文件中的行並運行alias $line

相關問題