tcsh:如何确定shell是否是用-c标志启动的?

9vw9lbht  于 2023-03-03  发布在  Shell
关注(0)|答案(1)|浏览(186)

tcsh与其他shell一样,在运行shell时接受-c标志以从命令行参数(而不是脚本)执行一组命令,例如:

tcsh -c 'mkdir /tmp/some-dir; tar -C /tmp/some-dir -xvf a-tarball.tar'

是否有办法查询解释器的状态来检测-c标志?请记住,此标志传递给tcsh,而不是传递给通过-c提供给解释器的命令。
背景:几天前我发现tcsh -c "COMMANDS..."在启动时仍然调用额外的rc文件(特别是.cshrc)。我不希望在调用tcsh -c时运行.cshrc中的一些命令(与交互式tcsh相反)。

afdcj2ne

afdcj2ne1#

根据(man page):
command(+)如果已设置,则为传递给shell的带有-c标志的命令(参见该条)。
例如:

% tcsh -c 'echo foo; echo $command'
foo
echo foo; echo $command

相关问题