diff --git a/run_greetings_client.sh b/run_greetings_client.sh
new file mode 100755
index 0000000000000000000000000000000000000000..8155589adf7379a480adf032955d71e206fcf304
--- /dev/null
+++ b/run_greetings_client.sh
@@ -0,0 +1,10 @@
+#!/bin/bash -e
+TARGET='Greetings Client'
+TARGET_CLASS='ex.grpc.GreetingsClient'
+TARGET_ARGS="$@"
+
+cd "$(dirname "$0")"
+mvn -q -nsu -am package -Dcheckstyle.skip=true -DskipTests
+. target/bootclasspath.properties
+echo "[INFO] Running: $TARGET ($TARGET_CLASS $TARGET_ARGS)"
+exec java "$bootclasspath" -cp "$jar" "$TARGET_CLASS" $TARGET_ARGS
diff --git a/run_greetings_server.sh b/run_greetings_server.sh
new file mode 100755
index 0000000000000000000000000000000000000000..248229e129e0a6165b91327dca8b75c51113266a
--- /dev/null
+++ b/run_greetings_server.sh
@@ -0,0 +1,9 @@
+#!/bin/bash -e
+TARGET='Greetings Server'
+TARGET_CLASS='ex.grpc.GreetingsServer'
+
+cd "$(dirname "$0")"
+mvn -q -nsu -am package -Dcheckstyle.skip=true -DskipTests
+. target/bootclasspath.properties
+echo "[INFO] Running: $TARGET ($TARGET_CLASS)"
+exec java "$bootclasspath" -cp "$jar" "$TARGET_CLASS"