我正在尝试解决如何$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