1

我有更改终端标题的功能。我希望将其传递给 osascript 命令。

我尝试:

function title {
  name=hostname
  printf "\033]0;$name %s\007" "$1"
}

osascript -e "tell application \"Terminal\"" \
    -e "tell application \"System Events\" to keystroke \"t\" using {command down}" \
    -e "do script \"title newTitle \" in front window" \
    -e "end tell"
    > /dev/null;

这没用。

有任何想法吗?

谢谢

4

1 回答 1

2

您的功能是否在您的.bash_profile? 如果是这样,这应该有效(如下)。如果没有,您需要添加它,否则您创建的新选项卡不知道该功能。

没有替换的多行脚本$1可以放在单引号内而不转义......

osascript -e 'tell application "Terminal"
tell application "System Events" to keystroke "t" using {command down}
do script "title NewTitle" in front window
end tell'

由于启动新选项卡时生成的文本,这> /dev/null似乎没有太大区别。

于 2013-10-14T19:16:00.287 回答