【发布时间】:2018-07-02 21:33:39
【问题描述】:
我们需要将目标文件夹列表设置为 777。
请告诉我,这种循环有一种更清洁/更智能的方法,无需吐出文件,然后从文件中读取。 :)
#!/bin/bash
inputFile="/private/tmp/.swatchTempFolderList.txt"
echo '/Applications/Adobe\ Photoshop\ CC\ 2018/Presets/Color\ Books
/Applications/Adobe\ Photoshop\ CC\ 2017/Presets/Color\ Books
/Applications/Adobe\ Photoshop\ CC\ 2015.5/Presets/Color\ Books
/Applications/Adobe\ Photoshop\ CC\ 2015/Presets/Color\ Books
/Applications/Adobe\ Photoshop\ CC\ 2014/Presets/Color\ Books
/Applications/Adobe\ Photoshop\ CC/Presets/Color\ Books
/Applications/Adobe\ Illustrator\ CC\ 2018/Presets.localized/en_US/Swatches/Color\ Books
/Applications/Adobe\ Illustrator\ CC\ 2017/Presets.localized/en_US/Swatches/Color\ Books
/Applications/Adobe\ Illustrator\ CC\ 2015.3/Presets.localized/en_US/Swatches/Color\ Books
/Applications/Adobe\ Illustrator\ CC\ 2015/Presets.localized/en_US/Swatches/Color\ Books
/Applications/Adobe\ Illustrator\ CC\ 2014/Presets.localized/en_US/Swatches/Color\ Books
/Applications/Adobe\ Illustrator\ CC/Presets.localized/en_US/Swatches/Color\ Books
/Applications/Adobe\ Illustrator\ CC\ 2018/Presets.localized/en_GB/Swatches/Color\ Books
/Applications/Adobe\ Illustrator\ CC\ 2017/Presets.localized/en_GB/Swatches/Color\ Books
/Applications/Adobe\ Illustrator\ CC\ 2015.3/Presets.localized/en_GB/Swatches/Color\ Books
/Applications/Adobe\ Illustrator\ CC\ 2015/Presets.localized/en_GB/Swatches/Color\ Books
/Applications/Adobe\ Illustrator\ CC\ 2014/Presets.localized/en_GB/Swatches/Color\ Books
/Applications/Adobe\ Illustrator\ CC/Presets.localized/en_GB/Swatches/Color\ Books
/Applications/Adobe\ InDesign\ CC\ 2018/Presets/Swatch\ Libraries
/Applications/Adobe\ InDesign\ CC\ 2017/Presets/Swatch\ Libraries
/Applications/Adobe\ InDesign\ CC\ 2015/Presets/Swatch\ Libraries
/Applications/Adobe\ InDesign\ CC\ 2014/Presets/Swatch\ Libraries
/Applications/Adobe\ InDesign\ CC/Presets/Swatch\ Libraries' > "$inputFile"
while read f; do
if [ -e "$f" ]; then
echo "Setting 777 for $f..."
chmod 777 "$f"
else
echo "Skipping, since $f does not exist..."
fi
done < "$inputFile"
exit 0
【问题讨论】:
-
这个 Shell 命令是什么语言?你想做什么?
-
不要永远使用
chmod 777。将文件标记为可由匿名帐户(例如用于沙箱不受信任的网络代码的那些)可执行和可写,从而规避了基本的系统安全措施。775更安全(使用组所有权来控制允许哪些其他用户进行写访问)。 -
...如果这些都是目录,并且您确实想让匿名用户写入它们,那么您还需要设置
+t位,这(在目录上设置时)使这不那么不安全。 -
完全同意将 files 设置为 777 的危险。但是,我们不会在文件夹 777 中制作文件,而只是在文件夹本身中制作文件。 Adobe 和 Pantone 都建议将列表中的每个文件夹设置为 777。这样没有管理员权限的 Adobe Photoshop、Illustrator 和 InDesign 用户可以创建或导入色板。