复制文件:名称包含空格

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选项

我能在这做什么?

Gil*_*not 8

您只需使用引号保护变量:

cp "$FILENAME" "$DESTDIR"
Run Code Online (Sandbox Code Playgroud)

注意

不要使用单引号',变量不能以这种方式扩展.