在 bash 中,您可以使用!*
获取上一个命令的所有参数。例如,如果您先执行cp /some/path /some/other/path
,然后执行mv !*
,则第二个命令将扩展为mv /some/path /some/other/path
。
是否有类似的东西可以用来从命令访问特定参数而不是所有参数?
答案1
答案2
就我个人而言,我真的不喜欢这个“带感叹号的扩展”功能,它甚至会在你尝试echo "Hello World!"
在交互式 shell 时造成干扰(因此,假设它们将在非交互模式下运行的源脚本根本不起作用)。
因此,我set +o histexpand
使用以下方法设置并开始回忆参数:
Esc, 1, Esc, Ctrl-Y => Insert first argument of previous command.
请注意,Esc-trick 是因为我没有元键。