Bash: Passing Arguments with Quotes
Today I needed to write a bash script that eventually calls another program,
passing all the arguments to it. It seemed like a simple enough task: just use
$@
. However, the problem was that the program accepts arguments surrounded
with quotes, and the $@
stripped the quotes away. I was really surprised that
google didn’t immediately find an answer.
Finally I reached this forum:
http://www.linuxforums.org/forum/linux-programming-scripting/62564-bash-
script-problem-preserving-quotes-
arguments.html
And to save you the trouble, here’s a script that preserves the quotes:
#!/bin/bash
# blah blah blah
./foo "$@"
For more on posts, see here.