免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: starwing83
打印 上一主题 下一主题

[其他] tcsh,shebang和clojure [复制链接]

论坛徽章:
5
狮子座
日期:2013-08-20 10:12:24午马
日期:2013-11-23 18:04:102015年辞旧岁徽章
日期:2015-03-03 16:54:152015亚冠之德黑兰石油
日期:2015-06-29 18:11:1115-16赛季CBA联赛之新疆
日期:2024-02-21 10:00:53
11 [报告]
发表于 2012-10-09 18:39 |只看该作者
本帖最后由 starwing83 于 2012-10-09 18:39 编辑

回复 9# OwnWaterloo


    我想我大概知道矛盾在哪儿了……

除非有十分明显的漏洞,否则假设对方的需求是合理的, 只是自己没遇见过而已; 然后直面问题; 尝试解决或者提供work around; 之后再是点评、吐槽什么的 —— 我记得你之前一直是这样的。


你怎么知道我不是这样的呢?难道我没有找work around吗?

去stack overflow提问如何让clojure支持shebang。

测试tcsh对shebang的支持(因为shebang不分离参数是bash的问题)——最后,大概是昨晚5点的样子吧,得到结论了。shebang是系统的事儿。跟shell没关系。系统自己的exec系列系统调用处理shebang的。还有tcsh的windows版本不支持shebang问题也解决了,是个环境变量:TCSHONLYSTARTEXES,天杀的文档。好,这个“子过程”返回。

我没没有对你的work around有任何恶意的评价吧?相反我觉得这是个解决方案。而且,我对你的说法的评价,都是在你提出这个work around很久以后吧。在这之前,似乎我一直在想办法去找你的问题的解决方案吧?在这之前我一直都没有说你的需求不合理吧??

另外想问一下,既然你也知道,emacs lisp并不是以作scripting language为主要目的,而你也这么用了。而且我也没有评价这个不合理,为什么你觉得我说“开发者并没有考虑到这个情况”就是“这个情况是不合理的”?我从来没有在这两者之间画上等号啊?我仅仅是说,这个情况clojure没有考虑,要你去mailing list去问而已,我根本就没有说过这个想法是很不合理的啊?我说过最接近的一个话是“clojure不是用作脚本设计的,所以不提供启动器也是天经地义的吧”,问题是,“不是作脚本设计”和“作脚本设计就不合理”这个之间是不是没有等价关系?光盘不是做衣服的不是做建筑塑料的可是就是有人用光盘盘片做这些艺术品啊,没有不合理啊。

好,继续说work around。既然你提到了那个解决方案。我的注意力就放到了“如何让shell支持多参数shebang上”。因为添加一个clj是很简单的事情,然而你说clojure没提供,而且连名字都没有标准化——事实上,我觉得有问题的地方是,他没提供这一点是事实,如果你想从这一点出发,要么你自己提供一个,然后等官方提供了以后再改;要么你立刻要求官方提供一个,要么你黑了官方网站自己加一个——不管怎么说,你对我说这个话完全没有意义啊!我不是clojure的维护者啊。你对我抱怨,我也只能有两个态度:1.“啊,clojure好差劲啊,这样的东西都不提供,真是的,完全不考虑使用者的感受和正常需求嘛”——然后又能怎么样?联名上书吗?就是因为考虑到这一点,我才采用了第二个态度2.“你跟我抱怨是没用的,clojure自己本身就没用提供这个东西就已经是事实了。如果clojure真的没提供,那么显然它无法阻止别的用户自己写driver脚本,那么driver脚本的名字不统一估计也是事实了,既然是事实,你对我说又有什么用呢?”

我有说你的需求不合理吗?我在说“这是事实”好吗?

又跑题了……还是说work around,我在找shebang如何支持多个参数上面(前文提到了,从clojure入手是没法解决问题的——至少没法彻底解决OwnWaterloo所有的问题),假设我们可以写特殊的shebang,然后这个shebang能分离参数,那么就很不错了。

不过我查询了POSIX(这时已经早晨7点左右了),才知道shebang不是shell的行为,POSIX规定shell的脚本第一行如果是#!开头是“unspecified”的,然后我查了exec,发现只有很小一段文字提到了。而且是说“直接调用#!后面的代码,然后将程序以stdin的形式喂给解释器”。这样其实就很奇怪了。如果是这样,#!后面就应该是**完整**的命令行,而不应该是我在1L说的待组装的命令行了。而这样的话,操作系统分离参数应该是很正常的事情才对啊!

那么,就只剩下一个可能了:我这里用的是windows,而windows是没有shebang的(甚至连exec系列函数都没有!),所以shebang只有可能是mingw模拟的。那么这应该是minggw的bug。现在应该找一个Linux环境,看看会不会分隔参数,如果会,向MinGW提交Bug,如果不会,向Linux提一下问题。

这才是解决方案吧?——当然,1L已经提到了,你已经通过另外一个方式解决了问题,这些只是为了从根本原因上——shell的shebang和clojure没有driver——上出发去解决。我似乎并没有说过你的使用场景不合理。包括我在1L的帖子都完全没有这个意思。我只是说开发者没考虑这个场景、或者这个场景不是开发者的设计目标、或者开发者对这个使用方式的实现有bug,我自始自终没有说过这不合理吧?而且我的确是一开始就去找work around啊,一开始推荐你自己写一个driver,你说不合理,我就又去鼓捣tcsh到去看一个shell的源代码到底怎么处理的,然后去Stack Overflow注册账户,提问,然后又去看POSIX,难道我不是为了解决问题才这样么?难道是抽风了?

仅仅描述一下事实,怎么就刺痛你了呢?非要别人跟着你一起抱怨让你有共鸣你才开心么?这样能解决问题吗?

论坛徽章:
2
青铜圣斗士
日期:2015-11-26 06:15:59数据库技术版块每日发帖之星
日期:2016-07-24 06:20:00
12 [报告]
发表于 2012-10-09 18:40 |只看该作者
回复 1# starwing83

>> 事情最开始是这样的,OW想用clojure写脚本
从你的角度,可能是这样。
从我的角度,这事情从emacs lisp就开始了。

所以我才知道你用的是 #!/usr/bin/perl -w 而不是 #!/usr/bin/env perl -w。
所以在知道shebang的设计有重大缺陷。
所以才知道有些软件为什么要支持 '-Xopt1 arg1 opt2 arg2'
所以才认为语言应该提供一个不需要参数的launcher。

emacs始终没有,它至少得加一个--script参数。
但clojure有,只是官方 —— clojure的repo、clojure.org里的download —— 没有附带而已。
4楼列出的就是一个例子:
clojure /usr/bin/clj
clojure /usr/share/clojure/clojure.jar



>> 我个人觉得clojure本身是基于java-vm的一种语言。它本身其实并不考虑作为脚本这么一个用途,所以不提供这样的命名约定什么的其实也是合理的。不过

clojure基于jvm于是本身不考虑作为脚本用途 —— 你敢不敢承认这话是你自己的臆测?

0. 有些case,尤其是牵涉到网络传输的, 根本不在乎启动速度。
1. 前面一个回复已经说了, 哪怕是emacs lisp这种特殊目的的语言都有当作脚本的需求, 何况是clojure这种通用目的的语言?
2. 各种linux发行版的软件仓库里都有clj, 又该怎么解释? 它们都是傻叉对不对,拿jvm这种启动就要花时间的语言当脚本用?
我批评的是应该将clj更官方化, 最好是拿到clojure的repo里维护。
如果想偷懒, 至少在clojure.org里提一下, 启动方式是clj program.clj, 然后去自己操作系统的软件仓库里找clj。
这要求是不是合理?

是啊,我就是懒,哪怕我没解决这问题也懒得去跟官方说(不擅长英文的理由够充分吗?)。
我就在qq上吐槽了一句"他咪咪的官方居然不带", 在你看来是抱怨了对不对? 是"向你"抱怨了对不对? 就算是我怨妇了一句, 你接下来跟我扯这么多又是怎么回事?
我因为一个合理的需求怨妇了一句, 你给我扯这么多无理取闹的东西, 真tm烦。


>> 我在考虑这么一个问题,就是软件本身的设计目的,和用户的需求不明确的时候,用户到底应该怎么办。我对OwnWaterloo说,你应该去clojure邮件列表发言,说明这个问题,而不是跟我讨论,因为这完全没有用。不过我也不知道OwnWaterloo自己的看法是如何,大概是“我已经想到一种解决方案了,我为什么要等待别人去解决这个问题呢?”

用户需求不明确? 不要自己骗自己了。
我找里讨论? 就像"tm啥啥啥网站又被盾了", 你怎么就不会认为我是在和你讨论? 怎么就不推荐我去给government的邮件列表发言? 我敢去吗?
"他咪咪的官方居然不带", 就是这样个情况。 在给提jark, clj时顺带吐槽了一句, 就是想和你讨论了?

另外: 我还真就是这么想的。 而且这解决方案不是刚想到, 而是在emacs lisp那时就知道了。
所以遇见clojure就有经验了, 赶紧找无参数的启动器, 结果没有, 那只能不用shebang而是混合语言了。
邮件列表有用? 你提了对方就会理你?Roberto 拒绝、无视过多少? 这其中还包括你自己的。
给你看个我在"找"的过程中发现clojure用户是怎么吐槽这语言的:
http://stackoverflow.com/questio ... shebangs-in-clojure

I'm surprised the Clojure authors didn't try harder to make Clojure scripts fit in better. – sarnold Mar 28 '11 at 7:11

The Clojure community is anti-POSIX. How do I shebang? "Don't; Use clj." How do I manually compile? "Don't; use Leiningen." – mcandre Mar 30 '11 at 1:54


是啊,我就是等不及。等不及clojure去支持(哪怕真能说服rich), 等不及他人回答我的"问", 因为通过"找"就能找出他人之前"问过"的。
你问的tcsh的两问题, 到现在有人理你么? "问"比"找"能先进在哪里?
当我"问"了, 要么是这问题我确实不关心,只想找个solution —— 比如被别人问起office什么什么功能 —— 要么就是我最后的手段, 先问着, 然后去找其他方案。 有人回答就赚到了。


>> 我自己其实也遇到了这种关于“需求”的情况。我用tcsh,tcsh本身的shebang我很少用(其实我是根本就没用过,脚本我都是直接用Vim执行,或者在命令行会写解释器来执行,很少会直接执行脚本),所以在测试的时候,我发现tcsh的windows版本竟然不认shebang,然后经过了Stack Overflow提问、自行编译等等方式最后都没有解决这个问题。这本质上依然是“软件的开发者没有满足使用者的需求”。我认为,我遇到的情况是不合理的,因为作为一个shell,在任何系统上行为一致应该是很有必要的。tcsh不支持shebang的原因是它支持Windows式的“按照后缀名判断文件类型”,可是在这之前,先打开文件并检测一下#!应该是很简单的。而且tcsh的源代码中的确也表示Win32移植版本应该支持HASHBANG特性。

"任何系统上行为一致"? 目录树结构都不一样, 一致个毛啊。 人家凭什么要去重复设计一个单根到多驱动器的映射方案?
源代码中的确表示? 就因为一句 #define HASHBANG 1? 不要自己骗自己。
你之前也说过, 以为tcc是stateless的, 最终发现是个骗局。 这有可能又是另一个"想重构、但做到一半(这次是#define HASHBANG 1)没动力或代价太高就摆那不管了"?


>> 我认为我遇到的现象和OwnWaterloo遇到的现象是不一样的。Clojure的官方主页上完全没有提到过支持在shell中直接执行clojure程序的做法。而tcsh作为一个shell,是必须满足POSIX对shell的要求的——即至少在某种情形下识别shebang。所以这并不是一种情况。对clojure来说,这种用途是作者“完全没有考虑过,或者没有考虑透彻的使用情景”,而对tcsh来说,这应该是“宣称的功能没有达到”。

windows关posix什么事? windows的posix子系统记得是因为有段时间吃官司了。 之后风头过了就停止了。 进度都还没达到shell那里去。

我评判的就是clojure.org根本就不提clj。
至于clojure是否可以作为script, 我再给你找个证据 http://clojure.org/repl_and_main
如果你还要继续说此script非彼script, 又或者还是不承认clojure可以当作script用, 我真拿你没办法。
而如果你还敢承认这一点, 那在shell中直接执行也是"暗含的"功能。 同样按你的说法是"宣称的功能没有达到"。

哎。。。 居然最终按你的路线走, 得出个"宣称功能没达到"。。。
从"而tcsh作为一个shell,是必须满足POSIX对shell的要求的" 这句开始就可以不理你的。


>> 因为#字符在clojure中并不是注释符。可以发现clojure的确是对clojure程序中包含shebang做出了支持。问题在于这个支持不全面,并不能保证clojure一定能够通过shebang调用到。一方面,shell不支持shebang参数分割是一个缺陷,另一方面,clojure本身没有提供独立的可执行的工具来直接执行clojure程序也是一个问题。两者共同造成了clojure无法通过shebang执行的情况。

clojure在277a070955e86697c2e0f38883ccab945c47e50a这个commit就增加#!作为至行末注释。
这个commit是1.0之前的200多个commit。  3年前, 1.0之前就支持了。
只是文档一直没提这个事。


>> 这其实是另一个话题了,在两个软件的缺陷同时造成一个困难的时候,谁应该为这个困难负责?OwnWaterloo认为应该是clojure,我不知道这是基于什么情况的考虑,反正我觉得应该负责的是shell。因为归根结底,是shell的shebang不完善造成的,clojure提供独立执行文件的方式只是一个work around而已,而shell的shebang仍然不完善。

我一直都承认责任在shebang。
但问题已经产生了,只追究责任有什么用?因为责任不在自己就事不关己了? 不说别的, 你为Windows的各种缺陷擦过多少次屁股? 因为这是Windows的责任所以自己就什么事都不做? 等着Windows去更新? 它会理你?

shebang这种老古董,你有能力让所有*nix的发行版都更新并让它分离参数?劝说所有的*nix用户都去更新?就为了一个shebang? 这现实么?
哪怕责任不在自己, 但能不能让一步,语言自己提供一个launcher? 而这就很现实。



>> 4. 如果你是使用者,你在向人抱怨自己的“正常”使用没有达到预期的目标,反而需要自己去想work around,并埋怨其设计糟糕的时候,如果有人提出相反意见,你是否能保持冷静并考虑。

你那也叫相反意见? 你完全是更年期综合征好吗?
我坚持和你这种不用unix那一套的人纠缠了这么久,通篇都是你自己的各种臆测,这样讨论真心累啊。你什么时候变成这种人了?
最后实在觉得太浪费时间不想理你了,结果被你反咬一口说我不冷静?

>> 6. 对待这种情况,作为抱怨者,和作为被抱怨者,以及作为聆听抱怨者,应该采取什么样的行为是合适的?

得,以后我再也不"抱怨"了,中?

论坛徽章:
5
技术图书徽章
日期:2013-08-17 07:26:49双子座
日期:2013-09-15 16:46:29双子座
日期:2013-09-25 08:17:09技术图书徽章
日期:2013-09-25 09:11:42天秤座
日期:2013-10-01 16:25:34
13 [报告]
发表于 2012-10-09 18:41 |只看该作者

                             

论坛徽章:
2
青铜圣斗士
日期:2015-11-26 06:15:59数据库技术版块每日发帖之星
日期:2016-07-24 06:20:00
14 [报告]
发表于 2012-10-09 18:42 |只看该作者
回复 4# KanonInD

clj在各种软件包管理器管理的软件仓库里(其实我不知道应该怎么说,对*nix那套不熟)。
但不在source repository, 也不在clojure.org的download, 而且clojure.org连提都不提 —— 我批评的就是这点。

论坛徽章:
5
狮子座
日期:2013-08-20 10:12:24午马
日期:2013-11-23 18:04:102015年辞旧岁徽章
日期:2015-03-03 16:54:152015亚冠之德黑兰石油
日期:2015-06-29 18:11:1115-16赛季CBA联赛之新疆
日期:2024-02-21 10:00:53
15 [报告]
发表于 2012-10-09 18:44 |只看该作者
本帖最后由 starwing83 于 2012-10-09 18:45 编辑

我擦……写了这么多,居然忘了写结论!!!

那么,就只剩下一个可能了:我这里用的是windows,而windows是没有shebang的(甚至连exec系列函数都没有!),所以shebang只有可能是mingw模拟的。那么这应该是minggw的bug。现在应该找一个Linux环境,看看会不会分隔参数,如果会,向MinGW提交Bug,如果不会,向Linux提一下问题。


tcsh在Windows上的shebang是**会**分割参数的!

所以,只有一种可能了:即不分割参数应该是mingw或mingw的后端cygwin的Bug!!

这事儿应该向他们提才对……

下面的代码,在tcsh上面,完美运行:
  1. #!/mingw/git/bin/env java clojure.main

  2. (prn "Hello World\n")
复制代码
root暂时只有bash支持,我将就这么写了。不然找不到env。

但是,这个代码执行了!这证明至少tcsh的shebang模拟支持是可以分离参数的!

论坛徽章:
5
狮子座
日期:2013-08-20 10:12:24午马
日期:2013-11-23 18:04:102015年辞旧岁徽章
日期:2015-03-03 16:54:152015亚冠之德黑兰石油
日期:2015-06-29 18:11:1115-16赛季CBA联赛之新疆
日期:2024-02-21 10:00:53
16 [报告]
发表于 2012-10-09 18:55 |只看该作者
= =我的想法有问题么……clojure毕竟不是windows嘛……但是如果最终不支持也没办法嘛……我的策略一般是:

1. 搜索看是否有支持的隐藏开关(tcsh里面就有一个……)
2. 邮件列表提问
3. 如果没人回,自己写一个patch,再在邮件列表ANN

Windows完全无力啊,不开源啊……

好吧,就算clojure和Windows一样,rich对于自己不关心的特性完全不理,而且绝对不带入版本库。

——你对我抱怨也没用啊……我最终也只会上面提到的三板斧啊,而且最终你解决了问题也很好啊……

最多赞扬一下混合语言方案比较“巧妙”……

就算是吐槽了,总觉得这种吐槽有点奇怪……

论坛徽章:
5
狮子座
日期:2013-08-20 10:12:24午马
日期:2013-11-23 18:04:102015年辞旧岁徽章
日期:2015-03-03 16:54:152015亚冠之德黑兰石油
日期:2015-06-29 18:11:1115-16赛季CBA联赛之新疆
日期:2024-02-21 10:00:53
17 [报告]
发表于 2012-10-09 18:58 |只看该作者
回复 13# OwnWaterloo


    其实我对这些都没意见,你说的都对,我只是对一件事情很奇怪——

如果你对一件事情很无力,无力到作者根本不理这个需求,无力到你只能抱怨的时候,我说一句“你抱怨也没用”,有问题么?

论坛徽章:
5
狮子座
日期:2013-08-20 10:12:24午马
日期:2013-11-23 18:04:102015年辞旧岁徽章
日期:2015-03-03 16:54:152015亚冠之德黑兰石油
日期:2015-06-29 18:11:1115-16赛季CBA联赛之新疆
日期:2024-02-21 10:00:53
18 [报告]
发表于 2012-10-09 19:00 |只看该作者
回复 15# OwnWaterloo


    好吧,我去加clojure的邮件列表,找一下他们的wiki,争取让他们在reference里面提一下……这个可以有——但问题还是一样的——他们如果不加,你依然没有任何办法,网站在人家手上呢,你除了提一下以外,根本做不了别的任何事情——如果是这样,你有啥办法来着……

论坛徽章:
2
青铜圣斗士
日期:2015-11-26 06:15:59数据库技术版块每日发帖之星
日期:2016-07-24 06:20:00
19 [报告]
发表于 2012-10-09 19:04 |只看该作者
回复 12# starwing83

>>  你怎么知道我不是这样的呢?难道我没有找work around吗?
>> 去stack overflow提问如何让clojure支持shebang。
>> 测试tcsh对shebang的支持(因为shebang不分离参数是bash的问题)——最后,大概是昨晚5点的样子吧,得到结论了。shebang是系统的事儿。跟shell没关系。系统自己的exec系列系统调用处理shebang的。还有tcsh的windows版本不支持shebang问题也解决了,是个环境变量:TCSHONLYSTARTEXES,天杀的文档。好,这个“子过程”返回。

>> 我没没有对你的work around有任何恶意的评价吧?相反我觉得这是个解决方案。而且,我对你的说法的评价,都是在你提出这个work around很久以后吧。在这之前,似乎我一直在想办法去找你的问题的解决方案吧?在这之前我一直都没有说你的需求不合理吧??

哦,原来你和我聊天的同时一直是为了帮我找work around?
感谢你这份闲心啊。

但如果你仔细看过我在qq回你的话(包括map不应该返回table等等),你就应该知道我已经找到work around了 —— 你确实也知道了。
既然我都屈就work around了,那这问题90%的几率没有正当途径能解决了 —— 只是tcsh支持shebang分离参数根本不现实, 如果你还不理解为什么, 你只能自己体会, 我没法给你说清楚了。


一直没有说我的需求不合理? 说话要凭良心的好吗?
clojure不用做script是不是你说的?
unix哲学不能当教条是不是你说的?
server要daemon是不是你说的?
总之都是我做事的方法有问题。。。

太多了,这才一天不到就不认账了?



>> 另外想问一下,既然你也知道,emacs lisp并不是以作scripting language为主要目的,而你也这么用了。而且我也没有评价这个不合理,为什么你觉得我说“开发者并没有考虑到这个情况”就是“这个情况是不合理的”?我从来没有在这两者之间画上等号啊?我仅仅是说,这个情况clojure没有考虑,要你去mailing list去问而已,我根本就没有说过这个想法是很不合理的啊?我说过最接近的一个话是“clojure不是用作脚本设计的,所以不提供启动器也是天经地义的吧”,问题是,“不是作脚本设计”和“作脚本设计就不合理”这个之间是不是没有等价关系?光盘不是做衣服的不是做建筑塑料的可是就是有人用光盘盘片做这些艺术品啊,没有不合理啊。

终于服软了? 终于承认"用做脚本是合理"的了? 进而开始和我玩文字游戏了?
我就问你, 既然用脚本是合理的, 昨天晚上你和我争这几个小时, 你是不是全在说废话?


>> 好,继续说work around。既然你提到了那个解决方案。我的注意力就放到了“如何让shell支持多参数shebang上”。因为添加一个clj是很简单的事情,然而你说clojure没提供,而且连名字都没有标准化——事实上,我觉得有问题的地方是,他没提供这一点是事实,如果你想从这一点出发,要么你自己提供一个,然后等官方提供了以后再改;要么你立刻要求官方提供一个,要么你黑了官方网站自己加一个——不管怎么说,你对我说这个话完全没有意义啊!我不是clojure的维护者啊。你对我抱怨,我也只能有两个态度:1.“啊,clojure好差劲啊,这样的东西都不提供,真是的,完全不考虑使用者的感受和正常需求嘛”——然后又能怎么样?联名上书吗?就是因为考虑到这一点,我才采用了第二个态度2.“你跟我抱怨是没用的,clojure自己本身就没用提供这个东西就已经是事实了。如果clojure真的没提供,那么显然它无法阻止别的用户自己写driver脚本,那么driver脚本的名字不统一估计也是事实了,既然是事实,你对我说又有什么用呢?”

>> 我有说你的需求不合理吗?我在说“这是事实”好吗?

我就说了一句"他咪咪的居然官方不带", 要你解决这问题了? 我下次说一句"某某网站被墙", 你是不是要去把gfw给黑了?
就因为提到jark了,提到clj了, 就顺带说了这么一句, 你就开始和我争了一晚上, 一会说我不该这样用, 一会说我不该那样用。
现在又反咬我一口, 说"某某不是被设计这样用的", 其实不代表"某某这样用是不合理的", 其实是合理的。 你都是对的, 只是我理解错了你的话中话。
既然是合理的, 你和我争个屁?


>> 又跑题了……还是说work around,我在找shebang如何支持多个参数上面(前文提到了,从clojure入手是没法解决问题的——至少没法彻底解决OwnWaterloo所有的问题),假设我们可以写特殊的shebang,然后这个shebang能分离参数,那么就很不错了。

>> 不过我查询了POSIX(这时已经早晨7点左右了),才知道shebang不是shell的行为,POSIX规定shell的脚本第一行如果是#!开头是“unspecified”的,然后我查了>> exec,发现只有很小一段文字提到了。而且是说“直接调用#!后面的代码,然后将程序以stdin的形式喂给解释器”。这样其实就很奇怪了。如果是这样,#!后面就应>> 该是**完整**的命令行,而不应该是我在1L说的待组装的命令行了。而这样的话,操作系统分离参数应该是很正常的事情才对啊!

>> 那么,就只剩下一个可能了:我这里用的是windows,而windows是没有shebang的(甚至连exec系列函数都没有!),所以shebang只有可能是mingw模拟的。那么这应该是minggw的bug。现在应该找一个Linux环境,看看会不会分隔参数,如果会,向MinGW提交Bug,如果不会,向Linux提一下问题。

>> 这才是解决方案吧?——当然,1L已经提到了,你已经通过另外一个方式解决了问题,这些只是为了从根本原因上——shell的shebang和clojure没有driver——上出发去解决。我似乎并没有说过你的使用场景不合理。包括我在1L的帖子都完全没有这个意思。我只是说开发者没考虑这个场景、或者这个场景不是开发者的设计目标、或者开发者对这个使用方式的实现有bug,我自始自终没有说过这不合理吧?而且我的确是一开始就去找work around啊,一开始推荐你自己写一个driver,你说不合理,我就又去鼓捣tcsh到去看一个shell的源代码到底怎么处理的,然后去Stack Overflow注册账户,提问,然后又去看POSIX,难道我不是为了解决问题才这样么?难道是抽风了?


很不错个毛。 从shell入手一开始就是不现实的。 理前面已经说过了。


>> 仅仅描述一下事实,怎么就刺痛你了呢?非要别人跟着你一起抱怨让你有共鸣你才开心么?这样能解决问题吗?

你要我说几次? 这问题我早解决了。 不需要用户更换、更新自己的shell的情况下解决了。
你又解决了么? 哪怕你自己倒腾出一个shell, 对我来说问题依然没解决。 我要避免的就是过多的依赖, 改shell从一开始就是不符合题意的。
你描述了什么事实? 你自己去翻聊天记录, 把我惹毛的是责任问题?是shebang错了还是clojure错了? 我从一开始就说事是shebang的责任, 但要解决它不现实。
是不是你在一个不用unix那套的机制下一会说我这样做不行, 那样做不行才把我惹毛的。

论坛徽章:
2
技术图书徽章
日期:2013-09-04 15:21:51酉鸡
日期:2013-11-01 21:20:20
20 [报告]
发表于 2012-10-09 19:11 |只看该作者
原来是从QQ打到CU的
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP