我知道我们可以通过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。我们怎样才能做到这一点?我尝试了很多次,但没有成功。任何帮助将不胜感激。