在命令行中在unix中传递参数

时间:2014-04-08 11:55:50

标签: linux unix arguments command-line-arguments

如何将参数传递给unix中的命令?例如,如果我必须打开文件:

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

在上面的vi命令中,我想用变量替换“mars”,并将变量值传递到同一行,如:

R> vi john/pic/$variable/NASA/rover.txt | $varaiable=pluto

当然这不起作用。但我希望我的问题很明确。任何人都可以帮我这个吗?

1 个答案:

答案 0 :(得分:1)

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

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

甚至:

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

OBS

  1. 请注意,在定义变量时,不能使用$,只能在使用它们的值时使用;
  2. vi命令管道化为变量赋值没有多大意义,尽管您可以从

    获得一些更清晰的参数化
    function opener() {
        vi john/pic/$1/NASA/rover.txt
    }
    $ opener "pluto"