有一个脚本可以调用另一个程序。以下是program.sh
。它可能看起来没有意义,但我省略了很多细节......让我们说我想坚持这个结构。
#!/usr/bin/env bash
function run_this {
/usr/bin/foo -A -B -C
}
run_this
我想通过传递给/usr/bin/foo
的参数更改传递给program.sh
的参数。例如,如果您致电program.sh --quiet
,请致电/usr/bin/foo -A -B -C -X
。实现这一目标的最佳方法是什么?
答案 0 :(得分:7)
使用数组。
cmd=(/usr/bin/foo -A -B -C)
if somecond; then
cmd+=(-X)
fi
"${cmd[@]}"
答案 1 :(得分:0)
您可以添加条件。我确信没有重复的方法可以做到这一点,但这应该有效:
#!/bin/bash
function run_this {
if [[ "$1" = "--quiet" ]]; then
/usr/bin/foo -A -B -C -X
else
/usr/bin/foo -A -B -C
fi
}
run_this "$1"