Bash:在单行if / else语句中运行多个命令

时间:2020-08-21 19:32:07

标签: bash ubuntu-20.04

我正在编写一个别名,该别名使我可以在终端中直接运行spotify-tui,并在未在线时加载spotifyd。这是我当前的脚本,全部包含在一行中:

ObservableCollection

Bash给我INotifyPropertyChanged的解析错误;我在做什么错了?

2 个答案:

答案 0 :(得分:2)

完全不使用别名;而是定义一个函数。

spotify () {
  if [[ -n $(ps -e | grep spotifyd) ]]; then 
    spotifyd --no-daemon
    spt
  else
    spt
  fi
}

这可以简化一点:

spotify () {
  if [[ -n $(ps -e | grep spotifyd) ]]; then 
    spotifyd --no-daemon
  fi
  spt
}

还有更多...

spotify () {
  [[ -n $(ps -e | grep spotifyd) ]] && spotifyd --no-daemon
  spt
}

aaand 还有一点:

spotify () {
  ps -e | grep -q spotifyd && spotifyd --no-daemon
  spt
}

答案 1 :(得分:0)

您需要将命令用引号引起来,否则分号将被视为别名命令的终止,并且会出现语法错误。

相关问题