gpt4 book ai didi

Bash:如何检查命令的返回值

转载 作者:行者123 更新时间:2023-11-29 09:37:44 25 4
gpt4 key购买 nike

我是 bash 脚本的新手,想编写一个简短的脚本来检查某个程序是否正在运行。如果它运行,脚本应该将窗口带到前台,如果它不运行,脚本应该启动它。

#!/bin/bash

if [ "$(wmctrl -l | grep Wunderlist)" = ""]; then
/opt/google/chrome/google-chrome --profile-directory=Default --app-id=ojcflmmmcfpacggndoaaflkmcoblhnbh
else
wmctrl -a Wunderlist
fi

我的比较是错误的,但我什至不确定我应该谷歌什么来找到解决方案。我的想法是,如果窗口不存在,"$(wmctrl -l | grep Wunderlist)" 将返回一个空字符串。运行脚本时出现此错误:

~/bin » sh handle_wunderlist.sh                                       
handle_wunderlist.sh: 3: [: =: argument expected

最佳答案

[ (test) 命令的结束参数 ] 前需要一个空格:

if [ "$(wmctrl -l | grep Wunderlist)" = "" ]; then
....
else
....
fi

作为旁注,您已将 shebang 用作 bash,但使用 sh(可能是 dash,来自错误消息)运行脚本).

关于Bash:如何检查命令的返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38556968/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com