- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
谷歌终于让我失望了。我似乎无法在 Bourne shell 脚本中找到如何执行此操作:
我正在编写一个 shell 脚本来处理我对一个项目的所有测试。我已经为该脚本可以执行的每个任务(构建、运行、清理等)设置了函数,并希望将任何其他命令行参数(除了命令本身)传递给所需的函数。
例子:./test.sh build -j
应该通过-j
进build
功能。
此逻辑的伪代码版本如下所示:
function build() {
make $*
}
if [ $1 == 'build' ]; then
build $2 -> $N
fi
最佳答案
我认为您可以使用 shift
实现这种效果。命令。它将所有位置参数下移一位并降低 $1
的值。 (因此 $3
的值移动到 $2
, $2
的值移动到 $1
并且 $1
的值丢失)。完成后,您可以使用 $@
选择您真正感兴趣的参数列表,例如
function build() {
echo "build with $@"
}
echo "Starting args are $@"
cmd=$1
shift
if [ "$cmd" = 'build' ]; then
build "$@"
fi
关于shell - 伯恩 shell : send arguments $2 to $N to variadic function?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12002954/
有什么不同: if IsServerStarted ; then ... 和 if [ IsServerStarted -eq 0 ] ; then ... 在我看来这两个陈述应该是等价的?奇怪的是,
我正在创建一个 Subversion post-commit hook .我需要将一个命令的输出强制为 STDERR,以便提交后 Hook 将消息编码回客户端。 如何将 STDOUT 强制转换为 ST
谷歌终于让我失望了。我似乎无法在 Bourne shell 脚本中找到如何执行此操作: 我正在编写一个 shell 脚本来处理我对一个项目的所有测试。我已经为该脚本可以执行的每个任务(构建、运行、清理
我是一名优秀的程序员,十分优秀!