如何在不影响 SFTP 连接的情况下在 .bashrc 文件中运行命令


How to run a command in .bashrc file without affecting SFTP connection?

我不知道为什么每次我尝试让 .bashrc 运行命令都会影响我与其他软件的 SFTP 连接......这次我只是试图自动启动我的 apache 服务器,因为服务器每天午夜重新启动,所以去命令行并重新启动我的 apache 服务器有点烦人。大失败,但我想,我对我的学校政策或他们对服务器所做的任何事情都无能为力。我只是在这个文件的末尾添加什么.bashrc,它是这个

~/apache/bin/apachectl start

但是这个简单的命令立即与我的连接SFTP使用其他软件发生冲突。所以,我不确定哪种是正确的方法。

你真的真的不想把它放在你的 .bashrc 中。Bashrc 会在您启动的每个 shell 中执行。您可能在每个登录会话中运行此命令数百次。

阅读 bash 手册页并找出您想要在各种启动文件中的哪个,我猜是.bash_profile脚本。即便如此,这对我来说似乎也很奇怪...

http://www.linuxfromscratch.org/blfs/view/6.3/postlfs/profile.html

但是,为了避免 sftp 问题,您需要确保您的 .bashrc 脚本不会向 STDOUT 写入任何内容。如果你在其中运行一个逗号,将输出重定向到/dev/null 或日志文件。一般来说,在 .bashrc 中运行任何命令是一个非常糟糕的主意,您应该主要设置配置变量。

在.bash_profile中运行命令是可以的,但从长远来看,它几乎总是会导致它解决的更多问题。