检查用户主目录中是否存在文件的 Shell 脚本

检查用户主目录中是否存在文件的 Shell 脚本

我想检查 OS X 上的用户主文件夹environment.plist中是否有一个文件.MacOSX,如果这个文件存在,则将一些新的键值附加到其中。

但如果不存在,则使用新键值创建此文件。我是 OS X 新手,所以我不知道如何让用户回到主页并执行这些检查,我的一个朋友告诉我我可以通过编写 shell 脚本来做到这一点。

请指导我这一点。

答案1

手动编辑文件

请注意,您也可以随时进入终端并输入:

mkdir -p ~/.MacOSX
touch ~/.MacOSX/environment.plist
open ~/.MacOSX/environment.plist

并相应地编辑文件,如果这就是你想做的。您最好使用 Apple 自己的 Property List Editor.app,它自带Xcode 3。当然还有其他支持plist文件的编辑器,但我现在想不起来。

如果您愿意,您也可以使用任何其他文本编辑器open ~/.MacOSX/打开该plist文件,只要您保留正确的格式。


使用 shell 脚本

但是,在你的问题中你要求的是这样的:

#!/usr/bin/env bash    
FILE=~/.MacOSX/environment.plist
PLIST=/usr/libexec/PlistBuddy

# if the file doesn't exist, try to create folder
if [ ! -f $FILE ]
then
  mkdir -p ~/.MacOSX
fi

# then just add entries (file will be created if it doesn't exist)
$PLIST -c "Add :Variable1 string 'Value1'" $FILE
$PLIST -c "Add :Variable2 string 'Value2'" $FILE

如果文件不存在,此脚本将创建该文件,然后向其中添加两个变量。它们的名称分别为Variable1Variable2,它们的值分别为Value1Value2

如果文件已经存在,则仅附加变量和值。

复制此代码,将其粘贴到名为的文件中,例如script.sh。将其保存到您的主文件夹。打开终端,然后运行

chmod +x script.sh

现在您可以运行它./script.sh并且它将创建该environment.plist文件。

如果要plist再次删除该文件,只需输入

rm ~/.MacOSX/environment.plist

该文件夹将保留,但这并不是什么问题。

相关内容