提问人:Albert Chan 提问时间:11/14/2023 最后编辑:Albert Chan 更新时间:11/14/2023 访问量:48
查找确切的单词存在
Finding the exact word exist
问:
我刚刚开始使用 dockutil 以及如何编写执行以下操作的脚本。
检查项目是否存在于 Dock 上。如果它不存在,请添加它。如果它什么都不做。
因此,要检查项目是否存在,您可以使用以下命令
~ % dockutil --find Keynote
结果将与以下内容相呼应
Keynote was not found in Keynote was not found in /Users/$UserName/Library/Preferences/com.apple.dock.plist
因此,我编写了以下脚本来捕获输入
app='Keynote'
echo "${app}"
Test=$(dockutil --find "${app}" | tr ' ' '\n'| grep "not")
if [[ ${Test} == "not" ]]; then
echo " its not there "
else
echo "its there"
fi
问题是 Keynote 的名字中有“not”这个词,这总是会给我一个误报。 有没有办法从结果中查找“未找到”甚至只是“未找到”。或者甚至是另一种同时执行 if 语句的方法。
答:
1赞
Diego Torres Milano
11/14/2023
#1
dockutil
如果未找到该项目,则以 1 退出,然后您可以这样做
app='Keynote'
echo "${app}"
if ! dockutil --find "${app}"; then
echo " its not there "
fi
评论
0赞
tripleee
11/14/2023
周围的卷曲在这里并没有真正的用处。${app}
0赞
Diego Torres Milano
11/15/2023
无害,也无济于事
评论
grep "not found"
?dockutil
if dockutil --find "$app" >/dev/null 2>&1; then ...
dockutil
grep
Test
if dockutil --find "$app" | grep -qE 'was not found in'; then echo "its not there"; else echo "its there"; fi
Test
"not"
[ "$Test" = *"not"* ]
tr