微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

从csh传递参数到程序,就像它们一样

我有一个csh脚本,它使用“源”执行,并将其所有parameter passing给一个程序:

% alias foo source foo.csh % cat foo.csh ./bar $* # Some uninteresting stuff

如果我运行source foo.csh abc ,一切正常。 但不总是:

foo "ab" "cd" :

我希望bar得到两个参数 – ab和cd 。 相反,它得到4。

foo a "*" b : *被扩展为文件列表。 我只想要字符* 。

额外的信贷 – foo a * b应该以同样的方式工作。 我知道这是更多的问题,我愿意没有它的生活。

在.cshrc中设置PATH不起作用

移动30分钟的文件

Shell hacking:从csh启动bash

C Shell运算符

类似Matlab的命令历史在csh中完成

我试过的一件事是改变./bar $*到./bar "$*" 。 这有助于星号,但现在bar总是将所有内容都放在一个参数中。

笔记:

我们公司使用csh作为loginshell,因此在使用source时必须使用它。 知道csh编程被认为是有害的 ,我在bar实现了所有的逻辑,并在脚本中保持最低限度。

如果您build议重新定义别名,重要的是要看到redirect仍然有效( foo | grep hello ),并且如果ctrl-C中断了脚本,则会进行正确的清理。

谢谢。

如何检查在csh脚本中的任何文件的存在?

将rlogin命令转换为别名

是否有一个Linux命令阻止,直到一个进程退出

variables的variables

如何在shell脚本中使用并行执行?

同时,我自己也找到了答案:

./bar $argv:q

:q修饰符处理事情。 它通过bar完全相同的参数。

资料来源: http : //www.staff.tugraz.at/reinfried.o.peter/unix/cshell.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐