Linux 在unix命令行中传递参数
如何在unix中向命令传递参数?例如,如果我必须打开一个文件:Linux 在unix命令行中传递参数,linux,unix,arguments,command-line-arguments,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 variable=pluto; vi john/pic/$variable/NASA/rover.txt 这当然行不通。但我希望我的问题是清楚
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
这当然行不通。但我希望我的问题是清楚的。有人能帮我吗?只需将变量定义移到命令行的开头,如下所示:
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
OBS:
$
,只能在使用变量值时使用李>
vi
命令管道化到变量赋值没有多大意义,尽管您可以通过以下方式实现更清晰的参数化:
@n、 m.我也会这么想,但实际上变量只在启动的进程本身中定义,而不是在当前的命令行中定义(在Bash 4.2.45(1)中;可能是一个特性)。你真的试过了吗(没有错别字?)。对不起,错别字了。是的,我也试过不打字。