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

use*_*300 4 parameters bash command-line

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

(变量扩展后可以)

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

myscript.sh file1 file2 file3 -m"A multi word comment" [other parameters/options]
Run Code Online (Sandbox Code Playgroud)

- 在我们有效调用的脚本内部 -

svn commit file1 file2 file3 -m"A multi word comment" [other parameters/options]
Run Code Online (Sandbox Code Playgroud)

- 无需复制svn自身的所有解析,只是为了理解命令行

(我遇到的问题是,在这个例子中,$ 4将是"-mA多字注释",这将是一个混乱的解决.我宁愿能够拍摄整个命令行,引号和所有,直接svn正好svn将如何看到它.)

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

sam*_*hen 7

你试过脚本了吗?

svn commit "$@"
Run Code Online (Sandbox Code Playgroud)

说明:

  • $@ 是一个特殊的变量,包含shell的所有参数,从$ 1开始.

  • 我对"bash"的唯一参考是参考手册.请参阅此链接中的相应部分:http://www.gnu.org/software/bash/manual/bashref.html#Special-Parameters.正如您将看到的,"$*"`扩展为单个单词,而`$*`只能用于空格.``$*'`有时会有一些用途. (2认同)

Mic*_*ker 3

在有效调用内您可以:

\n\n
svn commit "$@"\n
Run Code Online (Sandbox Code Playgroud)\n\n

至于确切地看到它是如何输入的 \xe2\x80\x94 没有。你无法分辨a ba b注意参数之间的一个和两个空格 \xe2\x80\x94\xc2\xa0argh,我认为即使这样也隐藏了第二个空格;))。但你不需要。

\n