如何在bash文件中调用docker / javac

问题描述

这是我的bash脚本(“ compile_java.sh”):

#!/bin/bash
filename=$(basename -- "$1")
extension="${filename##*.}"
filename="${filename%.*}"
echo "$1"
echo "$filename"
echo "$extension"
docker run --rm -v "$PWD":/usr/src/myapp -w /usr/src/myapp openjdk:15 javac $1

这就是我尝试调用bash脚本(我正在使用Ubuntu)的原因:. compile_java.sh TestJava.java

这就是“错误”消息:

TestJava.java
TestJava
java
error: invalid flag: TestJava.java
Usage: javac <options> <source files>
use --help for a list of possible options

有人可以给我一个提示吗?

解决方法

对不起,bash文件中包含特殊字符。效果很好:

docker run --rm -v "$PWD":/usr/src/myapp -w /usr/src/myapp openjdk:15 javac $1