经过一番搜索,我创建了一个~/.hushlogin文件并且它可以工作,但仅适用于新窗口.有没有办法让它适用于新的标签?
Nic*_*sco 87
在Mavericks上,创建空文件 ~/.hushlogin会删除"上次登录"行,用于新窗口和新选项卡.
在我的Mac上它有效.
int*_*t3h 39
这是运行OS X 10.8.3.我没有在其他版本上测试它,但只要终端有上述选项,那么它应该工作.
在Terminal.app中,转到首选项 - >设置,然后选择您正在使用的配置文件.转到"Shell"选项卡,在"Startup"标题下,选中"Run command:"并进入框中:
login -fpql your-username /bin/bash
Run Code Online (Sandbox Code Playgroud)
your-username用你的实际Unix用户名替换.如果你使用的是默认bash shell以外的shell,请替换/bin/bash为该shell的完整路径(是的,即使你已经在Preferences-> Startup中设置了它).
确保未选中 "Run inside shell" .
如果您具有"关闭前提示:仅当选择了登录shell和:以外的进程"选项时,请将"login"和"bash"添加到它不会提示的进程列表中.
确保你有一个~/.bashrc文件,因为这将是bash从现在开始使用的文件,而不是~/.bash_profile.我只用一个文件引用另一个使用这个方法.您还需要确保它来源/ etc/profile.
我们希望运行时login可以-q选择告诉它压缩"上次登录"消息,即使没有.hushlogin文件也是如此.(如上所述,login只会在cwd中查找该文件,而不是您的主目录,因此您需要.hushlogin在每个打开shell的目录中找到一个文件,以便该方法正常工作.)
问题是终端运行就像login -pfl your-username /bin/bash -c exec -la bash /usr/local/bin/bash你创建一个新shell(我使用自制软件的bash版本,因此最后是奇怪的bash路径),缺少-q标志.
不幸的是,没有办法直接更改终端使用的参数,所以我们只是login -pfql从终端的默认login -pfl会话中蹦出一个新的登录会话.不雅,但它的工作原理.
我们需要有-q选项和bash的路径来保持"新窗口/选项卡打开:相同的工作目录"选项工作.如果您不关心该选项,可以删除该标志和参数,并可能避免上述.bashrc内容.
s-v*_*ent 17
添加~/.hushlogin很好,除非您想在同一文件夹中打开新选项卡,或者从确切文件夹上的 Finder 打开终端,在这种情况下它将不起作用。
由于奇怪的不必要的方案,我想避免将正在运行的命令更改为另一个登录名login -> login -> zsh。您可以在活动监视器中看到它,而且当您退出交互式程序(例如 python repl)时,它也会显示在 python、login 和 zsh 正在运行的消息中。
输入并不理想clear,~/.zshrc因为在 mac 上它只会打印很多换行符(如果你向后滚动,你会看到它们)。
到目前为止,我发现的最好方法是添加printf '\33c\e[3J'(~/.zshrc或Terminal/Preferences/Profiles/Shell/Startup/Run command选中Run inside shell)。我选择了文件开头~/.zshrc,因为启动命令在其后运行,如果~/.zshrc文件很大,您可以在执行 printf 之前短暂看到“上次登录”消息。
aeo*_*nth 11
你可以添加一个clear到你的.bash_profile
这可能取决于操作系统版本.在终端2.3(在10.8上),触摸该文件会~/.hushlogin抑制新标签和新窗口的"上次登录"消息.也就是说,它适合我.
万一它有助于计算正在发生的事情(如果您不知道),请注意"最后登录"消息原则上来自login(1),而不是shell.或者,更准确地说,如果以特定方式调用shell(包括使用该-l选项启动它),那么bash将"就像它已被调用为登录shell一样"(zsh可能具有类似的功能,尽管我可以现在找不到.现在,可能是当Terminanl在您的OS X版本中打开一个新选项卡时,shell正在有效地模拟打开登录shell,并且可能导致这个细节错误.但是如果你有10.8版本的bash/zsh(即3.2.48/4.3.11),那么我不知道可能会有什么不妥.
| 归档时间: |
|
| 查看次数: |
22471 次 |
| 最近记录: |