tcsh login shell with command

时间:2015-09-17 16:39:01

标签: linux shell tcsh

我想让tcsh启动登录shell并执行命令。

我试过了:

tcsh -l -c ls

但收到此错误消息:

Unknown option: `-l'
Usage: tcsh [ -bcdefilmnqstvVxX ] [ argument ... ].

doc纠正了我的理解; -l只能在它是唯一的参数时才能使用。但是,所述文档还表示指定' - '会起作用,但这导致了不同的错误:

> tcsh - -c ls
-: No such file or directory.

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

你误解了它对{18.474525, 20.161419, 20.33903} 4.96831567625921 {18.474525, 20.161419, 20.33903} 1.65052300046634 {18.474525, 20.161419, 20.33903} 4.80888617553369 {21.999333, 20.220667, 19.786734} 4.22499387836286 {18.333228, 21.649157, 21.125111} 180 {20.371077, 19.675844, 19.77649} 5.09280172684743 {17.04323, 19.3106, 20.148842} 180 {22.941106, 19.105412, 19.069893} 180 的看法,尽管我承认措辞令人困惑。它说参数 0 必须是-。参数0是程序本身的名称,而不是命令行上命令后的参数。

它的实际工作方式是- argv[0]开始,它作为登录shell运行。检查-的第一个字符是shell在登录期间通常检测到它们是如何运行的。这是因为当您登录为real时,系统将执行您的登录shell而不带参数,但会在shell名称前添加argv[0]前缀。您可以在-中看到这一点,您经常会看到ps-tcsh等命令 - 这些是登录shell。

根据评论中的建议,您可以通过将命令传递给shell的标准输入来执行您想要的操作:

-bash