如何在unix中向命令传递参数?例如,如果必须打开文件:

R> vi john/pic/mars/NASA/rover.txt

在上面的vi命令中,我想用变量替换“mars”,并在同一行中传递变量值,如下所示:
R> vi john/pic/$variable/NASA/rover.txt | $varaiable=pluto

当然这不管用。但我希望我的问题是明确的。有人能帮我吗?

最佳答案

只需将变量定义移到命令行的开头,如下所示:

variable=pluto; vi john/pic/$variable/NASA/rover.txt

甚至:
variable=pluto && vi john/pic/$variable/NASA/rover.txt

组织分解结构:
注意,定义变量时不能使用$,只能在使用变量值时使用;
vi命令管道化为变量赋值没有多大意义,尽管您可以从以下位置实现一些更清晰的参数化:
function opener() {
    vi john/pic/$1/NASA/rover.txt
}
$ opener "pluto"

10-08 08:09
查看更多