将变量值作为参数从一个脚本传递到另一个shell脚本,作为参数

将变量值作为参数从一个脚本传递到另一个shell脚本,作为参数,shell,arguments,Shell,Arguments,我有两个shell脚本,一个是我自己的脚本,另一个是第三方的东西。 我在script1中将文件路径作为参数。 Script2是第三方脚本,它将文件路径作为参数。我不希望修改此脚本 我正在做这样的事情,在脚本1中 a=$1 ./script2 $a 但是$a是作为字符串传递的。。如所示,传递的是“$a”,而不是变量a的实际值:( 有什么方法可以实现这一点吗?请帮助!您应该使用单引号来传递变量。就像您的例子中的“$1st”一样。这有什么问题吗?路径实际上是字符串。在sh中,所有变量都是字符串。没有

我有两个shell脚本,一个是我自己的脚本,另一个是第三方的东西。 我在script1中将文件路径作为参数。 Script2是第三方脚本,它将文件路径作为参数。我不希望修改此脚本

我正在做这样的事情,在脚本1中

a=$1
./script2 $a
但是$a是作为字符串传递的。。如所示,传递的是“$a”,而不是变量a的实际值:(


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

您应该使用单引号来传递变量。就像您的例子中的“$1st”一样。

这有什么问题吗?路径实际上是字符串。在sh中,所有变量都是字符串。没有其他内容。我的意思是,路径(变量a的内容)没有被传递到script2。相反,“$a”正在被传递。让我编辑这个问题。@DavideBerra。希望我的问题现在有意义。请建议这正是您正在做的,或者只是“类似”?您没有以
/script'$a'
的形式编写实际行,是吗?(如果是这样,只需将“s”改为“s即可。)
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 ....."