【问题标题】:Pass variable value as argument from one script to another shell script, as an argument将变量值作为参数从一个脚本传递到另一个 shell 脚本,作为参数
【发布时间】:2013-03-07 16:38:18
【问题描述】:

我有两个 shell 脚本,一个是我自己的脚本,另一个是第 3 方的东西。 我将文件路径作为 script1 中的参数。 Script2 是第 3 方脚本,它以文件路径为参数。我不想修改这个脚本。

我正在做这样的事情,在 script1 中,

a=$1
./script2 $a

但是 $a 被作为字符串传递.. '$a' 被传递而不是变量 a 的实际值:(

有什么方法可以实现这一点吗?请帮忙!

【问题讨论】:

  • 这有什么问题?路径实际上是一个字符串。
  • 在sh中,所有的变量都是字符串。没有别的了。
  • 我的意思是说,路径(变量a的内容)没有被传递给script2..相反,'$a'正在被传递..让我编辑问题..
  • @DavideBerra ..希望我的问题现在有意义..请提出建议
  • 这正是您正在做的事情,还是只是“类似”?您没有任何机会将实际行写为./script '$a' 是吗? (如果是这种情况,只需将 's 更改为 "s。)

标签: shell arguments


【解决方案1】:
my_script.sh
=======================================
#!/bin/bash
1st="sam"
2nd="victor"
3rd="cris"
/home/admin/Third_party.sh "$1st" "$2nd" "$3rd"


Third_party.sh
=======================================
#!/bin/bash
echo "1st value is: $1 ....."
echo "2nd value is: $2 ....."
echo "3rd value is: $3 ....."

【讨论】:

    【解决方案2】:

    你应该使用单引号来传递变量。就像你的情况下的'$ 1st'。

    【讨论】:

      猜你喜欢
      • 2019-11-03
      • 1970-01-01
      • 2013-10-23
      • 1970-01-01
      • 2013-08-13
      • 2017-11-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多