从命令中拉出变量(bash)

时间:2015-07-13 16:21:02

标签: bash

我正在尝试编写一个可以从其执行中提取变量的bash脚本。

我真的无法解释这个问题,但我希望从同一个bash脚本中获取一个变量。

在这个例子中我们说我写的脚本是 CMD.sh

sh ./CMD.sh foobar
      var = foobar

如果可以,我该如何在脚本中执行此操作?

sh ./CMD.sh foo bar fubar
      var1 = foo
      var2 = bar
      var3 = fubar

如何创建一个 bash.sh 脚本的脚本,该脚本可以从上面提取变量并使用它

2 个答案:

答案 0 :(得分:3)

您可以将您传递给bash脚本的参数作为$1, $2, $3,...来访问。 即:如果您编写脚本,请说出my-script.sh并在其中写下

echo $1
echo $2
echo $3

然后像./my-script.sh firstarg secondarg thirdarg一样执行此脚本,然后打印:

firstarg
secondarg
thirdarg

答案 1 :(得分:1)

可能你在谈论positional parameters cmd.sh:

#!/bin/bash
var1="$1"
var2="$2"
var3="$3"
echo "$var1 $var2 $var3"

$1是第一个位置参数,即传递给脚本的参数 $2是第二个位置参数,即传递给脚本的参数 ......等等......

现在,如果您运行 cmd.sh ,请执行以下操作:

./cmd.sh foo bar fubar

输出将是:

foo bar fubar