使用未知用户名检查安装在 ~/Applications 中的应用程序版本

使用未知用户名检查安装在 ~/Applications 中的应用程序版本

我想通过 Apple Remote Desktop 检查所有受管理计算机的 Firefox 版本。我已经写了这个,但它只检查 /Applications 中的 Firefox

/bin/cat /Applications/Firefox.app/Contents/Info.plist | grep -A 1 CFBundleShortVersionString | grep string | sed 's/[/]//' | sed 's/<string>//g'

对于标准用户,如果 Firefox 自动更新位于 /Applications 中,则它会中断,因此我将其安装在 ~/Applications 中

我想检查该副本(如果存在),但我无法在命令中指定路径,因为它对于每台计算机都是唯一的。例如:

/用户/jon/应用程序/Firefox.app

/用户/arya/应用程序/Firefox.app

大概我想使用 find 并将结果通过管道传输到我的命令。这应该适用于 10.6 到 10.8

答案1

locate Firefox.app |grep "Firefox.app$"

应该会给你准确的位置

答案2

一种方法是使用 shell 脚本获取 /Users 中的用户文件夹列表,然后循环查看这些文件夹。例如:

for i in $(ls /Users/ | grep -v Shared | grep -v Deleted)
do
    grep -A 1 CFBundleShortVersionString /Users/${i}/Applications/Firefox.app/Contents/Info.plist | grep -A 1 CFBundleShortVersionString | grep string | sed 's/[/]//' | sed 's/<string>//g'
done

相关内容