#!/bin/sh
LOG='log --pretty=format:"%h - %an, %ar : %s"'
git $LOG
我希望这会以指定的格式输出实际的git日志。但是,我得到的只是一个致命的参数错误。Bash Shell变量中的引号不起作用,为什么?
我也曾尝试下面的选项,他们也不起作用:
LOG="log --pretty=format:\"%h - %an, %ar : %s\""
LOG='log --pretty=format:\"%h - %an, %ar : %s\"'
然而,奇怪的是下面的脚本不工作,我不明白为什么:
LOG='--pretty=format:"%h - %an, %ar : %s"'
git log "$LOG"
有人认为,壳正在考虑变量只有一个参数,但以下工作正常:
LOG1LINE='log --pretty=oneline'
git $LOG1LINE
[我想在一个变量把一个命令,但是复杂的情况下总是失败(http://mywiki.wooledge.org/BashFAQ/050) –