文件名包含空格CP时失败
问题提出 #!/bin/bash SAVEIFS=$IFS IFS=$(echo -en "nb") PROJECT_TEMPLATES_PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Templates/Project Templates/iOS/Application/" FILE_TEMPLATES_PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Templates/File Templates/Source/" EMPTY_APPLICATION_PATH="$PWD/Empty Application.xctemplate" OC_CATEGORY_PATH="$PWD/Objective-C category.xctemplate" OC_PROTOCOL_PATH="$PWD/Objective-C protocol.xctemplate" OC_EXTENSION_PATH="$PWD/Objective-C class extension.xctemplate" cp -R $EMPTY_APPLICATION_PATH $PROJECT_TEMPLATES_PATH cp -R $OC_CATEGORY_PATH $FILE_TEMPLATES_PATH cp -R $OC_PROTOCOL_PATH $FILE_TEMPLATES_PATH cp -R $OC_EXTENSION_PATH $FILE_TEMPLATES_PATH IFS=$SAVEIFS 分析问题 cp -R "$EMPTY_APPLICATION_PATH" "$PROJECT_TEMPLATES_PATH" 3.执行发下问题解决了; 添加两个双引号的的作用是: The reason you double quote variables is because the contents of the variable may include spaces. A space is typically the boundary character which denotes a break in atoms within a string of text for most commands(一般在linux命令中空格被当做字符分割符号) 其他知识 使用这些选项有三种方法 参考链接: (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |