pesterhazy / bash2bb

44 stars 1 forks source link

Support read bultin for user input #5

Open dundalek opened 1 year ago

dundalek commented 1 year ago

When wanting to read user input with:

echo -n "Your name: "
read name
echo Hello "$name"

Gets translated as following which does not work because read is a shell builtin and cannot be executed:

(require (quote [babashka.process :refer [shell pipeline pb]]))
(def name (System/getenv "name"))
(shell "echo" "-n" "Your name: ")
(shell "read" "name")
(shell "echo" "Hello" name)

We could translate it as (read) and introduce a binding which would make it work:

(require (quote [babashka.process :refer [shell pipeline pb]]))
(shell "echo" "-n" "Your name: ")
(def name (read))
(shell "echo" "Hello" name)