gpt4 book ai didi

linux - 使用命令的 tcsh 登录 shell

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:49:58 28 4
gpt4 key购买 nike

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

我试过这个:

tcsh -l -c ls

但是得到这个错误信息:

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

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

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

有什么建议吗?

最佳答案

您误解了它所说的关于 - 的内容,尽管我承认措辞令人困惑。它表示参数 0 必须是 -。参数 0 是程序本身的名称,而不是命令行中命令后的参数。

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

正如评论中所建议的,您可以通过将命令传送到 shell 的标准输入来执行您想要的操作:

echo ls | tcsh -l

关于linux - 使用命令的 tcsh 登录 shell,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32635599/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com