如何更改Atom中的脚本包以使用Scheme而不是Guile运行代码?

如何更改Atom中的脚本包以使用Scheme而不是Guile运行代码?,scheme,lisp,editor,atom-editor,Scheme,Lisp,Editor,Atom Editor,我在OSX上使用Atom在Scheme中编码,我希望能够使用脚本包运行我的代码——具体来说,使用MIT:GNU Scheme,而不是guile,因为guile不提供任何输出。或者,将脚本的逐行输出设为guile输出也可以,因为现在它只显示运行时 我制作了一个名为atom scheme的脚本,并将其放入/usr/local/bin中,它执行以下操作: #!/bin/bash atom-scheme () { scheme --quiet < "$1" } 命令 非核心包 任何帮助

我在OSX上使用Atom在Scheme中编码,我希望能够使用脚本包运行我的代码——具体来说,使用MIT:GNU Scheme,而不是
guile
,因为
guile
不提供任何输出。或者,将脚本的逐行输出设为guile输出也可以,因为现在它只显示运行时

我制作了一个名为
atom scheme
的脚本,并将其放入
/usr/local/bin
中,它执行以下操作:

#!/bin/bash

atom-scheme () {
    scheme --quiet < "$1"
}
命令 非核心包
任何帮助都将不胜感激,谢谢

该脚本实际上并没有运行任何东西:它只是定义了一个shell函数,一旦脚本终止,该函数就会丢失。由于子进程已退出,因此可能会出现错误。你可能真的想要运行一个方案。例如:

#!/bin/sh -
exec scheme --quiet < "$1"
然后让编辑器运行它。现在您知道,或者至少有了一个想法,您需要实现哪些参数

根据评论,似乎找不到脚本。这可能有两个原因:

  • 它在
    路径中,但不可执行
    
  • 它不在
    路径
    中,或者是因为编辑器的
    路径
    不是您所想的,或者是因为
    路径
    在其他方面是错误的
对于第一个问题,解决方案是
chmod+x…/atom scheme
,其中
表示“它所在的目录”

对于第二个问题:OSX上的GUI应用程序如何设置
PATH
对我来说很神秘:据我所知,它们不是传统Unix意义上的登录shell的子对象,因此以传统方式在shell init文件中设置
PATH
可能不起作用:它们是某些登录过程的子对象,但我不明白这个过程如何决定路径应该是什么


您可以通过调用
env
替换脚本调用来确定编辑器的
PATH
是什么:这将打印环境,其中包括
PATH
。如果它是错误的,我不知道如何纠正它,但是:也许一些OSX的人可以在那里提供帮助。

Guile是一个计划。如果愿意,您可以使用其他方案实现,但据我所知,没有称为方案的方案实现。因此,从
guile
更改为
scheme
没有意义。另一方面,错误消息是不能设置未定义的编码,所以现在可能只需要在方案文件的顶部设置编码:
;-*-编码:utf-8-*-
?rsm,你说得对,我不清楚。我将scheme链接到我放在/usr/local/bin中的脚本,该脚本使用mit/gnu scheme版本10.1.0运行scheme。现在编辑以反映这一点,然后我将尝试您的编码技巧。编辑:不,把那一行放在最上面没有帮助。更改了脚本。相同的问题,相同的堆栈跟踪。我非常确定您需要更改脚本以执行
guile
所做的操作(即接受
-c
选项&c&c),或者修改
语法。coffee
以创建所需的命令行。看我答案的第二部分。你是说lisp.coffee吗?我在脚本中找不到grammars.coffee文件。脚本只在逐行计算中使用-c选项,所以我认为这不是问题所在。我运行了您建议的更改以查看参数,但我认为它实际上没有运行它-没有数据写入调试文件。据我所知,脚本只向命令传递一个文件名,如lisp.coffee中第34-36行所示。鉴于我最初编写的脚本是为了获取文件名,我认为这里的问题不在于参数。
     -0:02.7.0 script:run (input.hidden-input)
activate-power-mode 2.7.0 
atom-clock 0.1.17 
atom-ide-ui 0.13.0 
autocomplete-python 1.16.0 
autocomplete-swift 1.0.3 
go-plus 6.1.0 
Hydrogen 2.12.0 
ide-rust 0.21.0 
language-asymptote 1.1.0 
language-boo 0.1.0 
language-julia 0.19.1 
language-kotlin 0.5.0 
language-lisp 0.2.0 
language-markdown 0.37.0 
language-pseudo 0.1.3 
language-r 0.4.2 
language-racket 0.4.0 
language-rockstar 0.3.1 
language-rust 0.4.12 
language-scheme 1.4.0 
language-swift 0.5.0 
language-x86-64-assembly 2.2.11 
python-tools 0.6.9 
script 3.18.1 
swift-debugger 0.1.2 
teletype 0.13.4 
#!/bin/sh -
exec scheme --quiet < "$1"
#!/bin/sh -

echo "$(date)": "$@" >> /tmp/my.debugging.file
env >> /tmp/my.debugging.file