如何让bash正确解析带空格的文件名?

时间:2014-04-20 04:39:30

标签: bash

假设我有一个可执行文件myProgram,它将文件名作为参数之一,并将大量内容输出到stdout。现在我想写一个bash脚本来调用myProgram并将输出传递给less。通常我会创建一个bash脚本myCommand

#!/bin/bash
myProgram $* | less

但不知何故,bash会将包含空格的任何文件名拆分为多个参数。例如,它转换

myCommand some\ file -m 5

myProgram some file -m 5 | less

当然会导致错误。有没有办法解决这个问题?我尝试在"附近添加$*,但后来意识到它无济于事,因为它会导致整个参数列表成为单个参数,这不是我想要的。

1 个答案:

答案 0 :(得分:4)

$*替换为"$@"

myProgram "$@" | less