Я создал сценарий оболочки, который получает файл ракетки в качестве параметра и использует его для запуска команды ниже, чтобы выполнить файл и остаться в интерактивном режиме.
racket -i -e '(enter! "filename.rkt")'
Дело в том, что когда я запускаюскрипт, приведенный выше, команда выполняется без последней одинарной кавычки, которая генерирует сообщение об ошибке.
Я попытался поместить больше символов в конец команды (внутри скрипта), чтобы увидеть, не было ли это просто игнорированиемпоследний символ, но он не работал.
Вот мой сценарий:
# rkt.sh
if [ "$#" -ne 1 ]; then
echo "Not enough parameters!"
else
option=\''(enter! "'$1'")'\'
racket -i -e "$path"
fi
После выполнения команды:
rkt test.rkt
Вот ошибка, отображаемаяпрограмма-ракетка:
Welcome to Racket v7.0.
'(enter! "test.rkt")
string::21: read-syntax: expected an element for quoting "'", found end-of-file
context...:
reader-error12
read-undotted
read-syntax
Но когда я повторяю переменную скрипта option , она печатает желаемый результат:
'(enter! "test.rkt")'