正确设置命令替换格式

如果ZSH提示中有正在播放的歌曲,我正在尝试添加当前正在播放的歌曲。我正在使用JXA命令osascript -l JavaScript -e "Application('Music').currentTrack.name()"。我正在尝试将其分配给变量。然后回显该命令。

precmd() {
  SONG=$( echo -e osascript -l JavaScript -e "Application('Music').currentTrack.name()" )
  LEFT=echo $SONG
  RIGHT="$(dracula_time_segment) $(battery_pct_prompt)"
  RIGHTWIDTH=$(($COLUMNS-${#LEFT}))
}

我尝试了多种变体,例如:在表达式内部和外部回显以及各种标志。

abelchu 回答:正确设置命令替换格式

您根本不需要echo,如以后在设置RIGHT时的命令替换所表明的那样;命令替换仅接受命令并执行。

SONG=$(osascript -l JavaScript -e "Application('Music').currentTrack.name()")
LEFT="$SONG"

您可以组合前面的两个命令;不需要SONG

LEFT=$(osascript ...)
本文链接:https://www.f2er.com/3115601.html

大家都在问