是否存在可用于更改Mac OS X终端的配色方案的命令?我喜欢能够根据运行的脚本更改颜色的想法。到目前为止,我只是使用PS1更改bash提示的颜色,这是可以的,但没有我想要的那么明显。
是否存在可用于更改Mac OS X终端的配色方案的命令?我喜欢能够根据运行的脚本更改颜色的想法。到目前为止,我只是使用PS1更改bash提示的颜色,这是可以的,但没有我想要的那么明显。
Answers:
完全取决于要完成,这是一个使用你的终端样式AppleScript的一些想法。它们比更加健壮tput
,因为这会通过彩色提示重置。等等(至少对我来说)。
这会将所有运行Python的选项卡(目前没有可用于测试的SSH服务器)设置为Homebrew,其他选项卡设置为Ocean:
tell application "Terminal"
repeat with w from 1 to count windows
repeat with t from 1 to count tabs of window w
if processes of tab t of window w contains "Python" then
set current settings of tab t of window w to (first settings set whose name is "Homebrew")
else
set current settings of tab t of window w to (first settings set whose name is "Ocean")
end if
end repeat
end repeat
end tell
另存为脚本并以osascript Name.scpt
您希望为外壳重新着色的时间运行(当然,您可以将其包装为外壳脚本或其他内容)。
如果要以不同方式显示所有长时间运行的进程,请使用以下条件:
if busy of tab t of window w is true then
或者,您可以设置手动选择的单个标签的样式:
on run argv
tell application "Terminal" to set current settings of tab (item 1 of argv as number) of front window to first settings set whose name is (item 2 of argv)
end run
像这样运行它:
osascript StyleTerm.scpt 3 Homebrew
->最前面的终端窗口的第三个选项卡获得自制的样式!
如果要修改背景窗口,请用括号括起来的表达式代替“前窗口”,例如“ tab”之后。如果您始终要修改所选的“当前标签”,请使用selected tab
代替tab (item 1 of argv as number)
。
.bash_profile
如果第一个解决方案对您来说太麻烦,请添加以下内容:
PROMPT_COMMAND='osascript "/path/to/Name.scpt"'
现在,它在每个提示之前就执行了(唯一的问题:不是在启动某些东西之后,即ssh
。但是本主题无论如何都不是花哨的bash技巧。这只是一个指针。)
您的脚本可以使用该tput
命令以可移植的方式设置颜色。尝试以下脚本,您将看到终端清除为深青色背景,并带有一些亮青色文本。
#!/bin/bash
tput setab 6
tput clear
tput setaf 14
echo Hello World
您可以在下面查看有关此的更多信息 man 5 terminfo
在“颜色处理”部分中。
您可以通过回显终端直接识别的转义序列来执行相同的操作。它将更快,但是可能无法使用其他终端程序。它们中的许多可以识别xterm序列,这就是上面的脚本使用它们的样子。
#!/bin/bash
printf "\033[48;5;6m" # or "\033[46m"
printf "\033[H\033[2J" # your system's clear command does something similar
printf "\033[38;5;14m" # or "\033[96m"
echo Hello World
有一个关于xterm的控制序列的详细信息在这里。
Terminal -> Preferences -> Settings
?
osascript
,但是我对此并不熟悉。
您可以使用applescript为每个新终端提供一个随机主题。
编辑您的.bash_profile
并添加此命令
osascript -e "tell application \"Terminal\" to set current settings of front window to some settings set"
如果您使用相同的随机主题终端,则可以随时点击 ⌘I
并手动进行设置。
如果您获得许多看起来不同的终端主题,这将更加有用。如果您四处看看,有很多网站。
Terminal -> Preferences -> Settings
我要通过命令执行此操作一样,更改终端背景颜色的方法也一样。我想创建一个如下所示的脚本:changeBackgroundTheme; ssh; changeBackgroundTheme
。这将有助于提醒我当前处于哪个窗口ssh
。