如何 运行 使用 shebang 符号的 guile Scheme 脚本?

How to run a guile Scheme script using shebang notation?

我使用 shebang 符号创建了一个 guile Scheme 脚本。

代码如下:

#!/usr/local/bin/guile \
-e main -s
!#
(define (fact-iter product counter max-count)
    (if (> counter max-count)
         product
         (fact-iter (* counter product) (+ counter 1) max-count)))
(define (factorial n)
    (fact-iter 1 1 n))
(define (main args) 
    (factorial args)
)

文件名:factScheme.guile

我在终端 "factScheme.guile" 中直接尝试 运行 并得到了 bash factScheme.guile: command not found

如果我使用“./factScheme.guile”,我得到 Permission Denied .

如果有人能告诉我如何在 ubuntu 的终端中实际 运行 一个诡计脚本,我将不胜感激。

我在代码中提到的目录中有诡计。我

您需要使 factScheme.guile 文件可执行:

chmod +x factScheme.guile

您的程序还有其他问题:您需要将 first(非程序名称)参数转换为数字,并且需要 显示结果。因此:

(display (factorial (string->number (cadr args))))

P.S。 Guile 程序通常使用 .scm 文件后缀。