如何在shell脚本中转​​义空格?

时间:2017-06-13 11:14:58

标签: linux shell escaping

我有这个脚本可以轻松地将文件发送到我的服务器:

#!/bin/bash
scp $1 user@host:/home/user/dir

我将脚本保存在 / usr / local / bin 中,名称为 send2server ,然后按以下方式启动:

~$ send2server filename

现在问题是,如果文件名中有空格,脚本将不会使用\

转义它

那么,如何在变量$ 1中将空格放在我的脚本前面?

1 个答案:

答案 0 :(得分:2)

引用变量扩展以保护它们免受不良的通配和单词拆分。这应该是您的默认设置:很少有目的地需要不加引号扩展。

scp "$1" user@host:/home/user/dir