转移到第二个参数并执行脚本 $2

转移到第二个参数并执行脚本 $2

我正在尝试解决如何$2$1.为了显示:

./file.sh file1.txt file2.sh

我试图打电话file2.sh给此后./file.sh,但似乎没有任何作用。我不知道应该如何使用“转变”...有人可以帮助我吗?

答案1

你想要这样的东西吗?

./file.sh file1.txt && file2.sh

仅当 file.sh 脚本以零状态结束(无错误)时,它才会执行 file2.sh 脚本。

您也可以||使用&&.如果第一个脚本失败,它将运行第二个脚本。

答案2

file.sh

#!/bin/sh

first="$1"
shift

# Run the rest of the command line as a command
"$@"

这会将第一个命令行参数放入变量中first,然后从位置参数中移出该值。脚本的最后一行将作为命令执行剩余的位置参数。

$ ./file.sh hello echo world
world

相关内容