例如,我有一个bash函数(或别名)function install() {sudo apt-get install $@}
。运行该命令时install dicelab
,我期望的是实际运行的sudo apt-get install dicelab
。我在哪里可以看到shell实际运行了什么?我想确保我更复杂的别名能够按预期工作。
@AlonAviv,很好。:)尽管如此,最好还是养成引用的习惯,
—
ilkkachu
"$@"
否则带有空格或glob字符的参数将被烧毁。
@DarkHeart这没有重复。另一个问题与外壳函数无关。
—
库沙兰丹
在对其进行编辑以完全更改其主题(并使现有答案之一无效)之前,这都不是。
—
Michael Homer
$@
是您别名的一部分吗?请记住,别名实际上并不支持参数,它将扩展为调用别名的上下文的位置参数(如果有)。通常的运行somealias some args
方式是通过扩展别名并保留参数以使其遵循。如果您实际上希望能够访问参数,请使用函数,并在"$@"