nit*_*s24 0 unix shell solaris copy
我有一个大的shell脚本来处理每个Solaris系统的文件.
在开始时,脚本创建变量FILENAME有时人们创建包含空格的目录/文件.例如
/users/ldap/Anukriti's System Backup/BACKUP/workspace/BP8/scripts/yui/editor/simpleeditor.js
Run Code Online (Sandbox Code Playgroud)
后来在我运行的脚本中
cp $FILENAME $DESTDIR/
Run Code Online (Sandbox Code Playgroud)
您可以想象这总是失败,因为以下内容无效.
cp /users/ldap/Anukriti's System Backup/BACKUP/workspace/BP8/scripts/yui/editor/simpleeditor.js $DESTDIR
Run Code Online (Sandbox Code Playgroud)
我已经尝试将变量放入引号中,但这不起作用.我之前使用过find -exec选项,但是对于这种情况并非真正的选项,特别是因为Solaris不支持-wholename或-path选项
我能在这做什么?
您只需使用引号保护变量:
cp "$FILENAME" "$DESTDIR"
Run Code Online (Sandbox Code Playgroud)
注意
不要使用单引号',变量不能以这种方式扩展.