我正在尝试创建一个从 Casper 服务器运行的脚本,我已设法让脚本捕获当前登录的用户,并且我想将字体移出其 ~/Library/Fonts/ 文件夹。
我只是不断收到该文件夹不存在的错误,我认为这是因为我试图进入隐藏的库文件夹,最初我认为这是因为它找不到“FontsRemoved”文件夹,所以我将其更改为也是一个变量,但我仍然收到错误。有人可以帮忙我应该如何称呼这个吗?我需要将用户文件夹设置回默认值以符合 SOX 规定,并且我宁愿备份字体,也不愿使用文件夹的 DMG 覆盖文件夹,以防万一存在用户需要的字体。
mkdir -m 777 /Users/Shared/FontsRemoved/
user=`/bin/ls -la /dev/console | /usr/bin/cut -d " " -f 4`
fontsfolder=/Users/Shared/FontsRemoved/
"mv /$user/Library/Fonts/* $fontsfolder"
答案1
脚本中的最后一个命令是
"mv /$user/Library/Fonts/* $fontsfolder"
之所以会出现这种情况,mv /room.one/Library/Fonts/* /Users/Shared/FontsRemoved/: No such file or directory
是因为它尝试查找具有该名称(包括空格)的命令。
那是因为您已将整行放在双引号中。
相反,做
mv /"$user"/Library/Fonts/* "$fontsfolder"
或者
mv /home/"$user"/Library/Fonts/* "$fontsfolder"
或者
mv /Users/"$user"/Library/Fonts/* "$fontsfolder"
取决于您的主目录所在的位置。