如何在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"