电脑技术学习

对话 UNIX: 第 10 部分,定制您的 Shell

dn001

strike @ blackcat 1 $ ssh blackcat
Last login: Tue Apr 17 21:17:35 2007
Executing /etc/profile
(Interactive, login shell)
Executing /Users/strike/.bash_profile
(Interactive, login shell)
Including /Users/strike/.aliases
strike @ blackcat 1 $ 

  正如您所预期的,运行 SSH 以访问远程计算机将启动一个新的登录 Shell。接下来,当您在远程计算机上运行一个命令时,又会发生什么事情呢?答案如下:

strike @ blackcat 3 $ ssh blackcat ls
Executing /Users/strike/.bashrc
(Interactive shell)
villians.txt
heroes.txt

  使用 SSH 远程地运行一个命令将产生非登录的交互 Shell。它为什么是交互的呢?这是因为远程命令的标准输入和标准输出都绑定到了您的键盘和显示器,这正是 SSH 的神奇之处。

  清单 4 显示了 ~/.bash_logout。这个文件将在 Shell 终止的时候运行。

  清单 4. 示例 ~/.bash_logout 文件

echo "Executing $HOME/.bash_logout"
echo "(Interactive, login shell)"

  关于启动文件的有价值的技巧

  您使用 Shell 的次数越多,那么您就越能够从在启动文件中保存您的首选设置中获利。下面是一些用于组织您的 Bash 设置的有价值的技巧和建议。(您可以在其他的 Shell 中应用相似的策略。)

  如果您希望在每个 Shell(不管它是什么模式的)中使用的设置(例如,PATH),那么您可以把这些设置放入到 ~/.bashrc 中,并在 ~/.bash_profile 中使用 source 访问文件。

  如果您拥有多台计算机(并且您的 home 目录没有在它们之间通过网络文件系统 [NFS] 共享)上的帐号,那么可以使用 rsync 将网络上所有计算机中的启动文件保持同步。

标签: