linux – 在OS X上替换chmod –reference?
发布时间:2020-12-14 00:03:48 所属栏目:Linux 来源:网络整理
导读:我正在尝试将一些jenkins bash脚本从Ubuntu移植到OS X. linux(我认为它最初是GNU)chmod有一个–reference选项,允许从参考文件复制模式.我正在寻找OS X的等效代码,最好不要安装额外的软件包.更好的是跨平台解决方案. 具体片段: # expand all the templatesfi
我正在尝试将一些jenkins bash脚本从Ubuntu移植到OS X.
linux(我认为它最初是GNU)chmod有一个–reference选项,允许从参考文件复制模式.我正在寻找OS X的等效代码,最好不要安装额外的软件包.更好的是跨平台解决方案.
具体片段: # expand all the templates find "$OUTPUT_PATH" -name "*.template" | while read FILE ; do sed -e "s/%{NAME}/$OPTION_NAME/g" -e "s/%{TITLE}/$OPTION_TITLE/g" -e "s/%{VERSION}/$OPTION_VERSION/g" -e "s/%{WHEN}/$OPTION_WHEN/g" "$FILE" > "${FILE%.*}" chmod --reference="$FILE" "${FILE%.*}" rm -f "$FILE" done [edit] stat -r与保存文件模式的组合是正确的组合,OS X上不存在stat -c 解决方法
如果您的OS X具有stat命令
# expand all the templates find "$OUTPUT_PATH" -name "*.template" | while read FILE ; do savemod=$(stat -c "%a" "$FILE") sed -e "s/%{NAME}/$OPTION_NAME/g" -e "s/%{TITLE}/$OPTION_TITLE/g" -e "s/%{VERSION}/$OPTION_VERSION/g" -e "s/%{WHEN}/$OPTION_WHEN/g" "$FILE" > "${FILE%.*}" chmod $savemod "${FILE%.*}" rm -f "$FILE" done 如果它没有-c选项,请在格式化下检查man page of stat.您可以找到获得文件权限/模式的类似方法. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |