在 bash 脚本中,查看并使用确切的整个命令行



有没有办法访问键入的确切命令行?

(变量展开后正常)

这是我能想到的实现以下目标的唯一方法:

myscript.sh file1 file2 file3 -m"A multi word comment" [other parameters/options]
--

在脚本中,我们有效地调用了-

svn commit file1 file2 file3 -m"A multi word comment" [other parameters/options]

-- 不必复制 svn 自己所做的所有解析,只是为了理解命令行

(我遇到的问题是,在示例中,4 美元将是"-mA 多词注释",这将是一个混乱的整理。我宁愿能够拍摄整个命令行,引号和所有内容,直接拍摄到svn,正是svn想要看到它的方式。

如果有人知道编写svn"包装器"的更好方法,我也想听听。

您是否在脚本中尝试过:

svn commit "$@"

解释:

  • $@ 是一个特殊变量,包含 shell 的所有参数,起始价为 $1。

内部有效调用您可以:

svn commit "$@"

至于确切地看到它是如何打字的——没有。您无法区分a ba b(注意参数之间的一个和两个空格 - 哎呀,我认为即使是 SO 也隐藏了第二个空格;))。但你不需要。

如果脚本本身不需要参数,另一种方法是使用别名,如下所示

alias commit='code_check && svn ci'

(其中code_check是在 svn 提交之前执行的脚本或函数)

然后,您可以致电

commit file1 file2 file3 -m"A multi word comment" [other parameters/options]

别名扩展将行变成

code_check && svn ci file1 file2 file3 -m"A multi word comment" [other parameters/options]

相关内容

  • 没有找到相关文章

最新更新