如何通过Java在bash中传递$(date +“%Y”)之类的命令参数?

问题描述 投票:1回答:1

我知道我们可以通过Java运行时在bash中传递参数。我有一个特殊的情况,我想将$(date +“%Y”“%m”)之类的参数作为bash中的参数传递,该参数又将被计算并存储在bash中的变量中。考虑以下Java代码:

String[] cmd = {"sh", "/user/username/test.sh", "firstparameter", "date +%Y", "folder_$(date +%Y)";
Process process = Runtime.getRuntime().exec(cmd);

上面的命令运行shell脚本test.sh。我的脚本如下:

first=$1
year=`$2`
foldername=`$3`

echo $first
echo $year
echo $foldername

我在我的bash代码中包括了反引号,以便可以首先执行通过java程序传递的参数。该命令的输出将是:

firstparameter
2020
$(date: not found

我希望bash的文件夹名称为folder_2020。我们怎样才能做到这一点?我尝试了很多次,但没有成功。任何帮助将不胜感激。

java bash parameters scripting
1个回答
2
投票
您可以替换最后一个参数:
© www.soinside.com 2019 - 2024. All rights reserved.