[-t 1]检查什么?

镇权

zsh当我从bashWindows启动Windows时,我刚刚找到了一种启动方法

https://www.howtogeek.com/258518/how-to-use-zsh-or-another-shell-in-windows-10/

建议您在的末尾添加以下代码.bashrc

# Launch Zsh
if [ -t 1 ]; then
exec zsh
fi

什么[ -t 1 ]意思

这是真的吗?

然后,我可以这样做吗?

exec zsh
mrc02_kr

[]test命令的快捷方式

根据man test

-t FD
如果FD是与终端关联的文件描述符,则为true。

因此,如果将bash作为交互式外壳程序运行(终端-参见线程以了解术语说明),则bash将被zsh取代。

有关.bash *文件的更多信息:

当bash作为交互式登录shell具有--login选项非交互式shell被调用时,它首先从文件/ etc / profile中读取并执行命令(如果该文件存在)。读取该文件后,它将按该顺序查找〜/ .bash_profile,〜/ .bash_login和〜/ .profile,并从存在且可读的第一个命令中读取并执行命令。启动外壳程序时,可以使用--noprofile选项禁止此行为。

退出登录shell时,bash从〜/ .bash_logout和/etc/bash.bash_logout文件(如果存在)中读取并执行命令。

启动不是登录shell交互式shell时,bash会从〜/ .bashrc读取并执行命令(如果该文件存在)。使用--norc选项可以禁止这种情况。--rcfile file选项将强制bash从文件而不是〜/ .bashrc中读取并执行命令。

StéphaneChazelas评论:
请注意,shell可以在stdout不成为终端的情况下是交互式的,并且Shell可以与stdout上的终端不交互(例如,任何时候在终端中运行脚本而无需重定向/输出其输出),并且bash可以.bashrc甚至在非交互时也可以读取(例如,主机上用户的登录shellssh host cmd哪里)。是测试外壳是否交互式的正确方法。bashbash --login -c 'some code'case $- in *i*)...

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

为什么要检查List <T> .Count <= 0?

T-SQL检查约束的代码是什么?

为什么对于局部t = {1,[1] =“ a”,[2] =“ b”},t [1]输出为1

如何检查ʻIEnumerable <T1>`是否与ʻIEnumerable <T2>`协变?

动态检查 IList<T>

(x & (x >> 1) == 0) 检查什么?

这是检查什么条件:if [ -z $1 ]

为什么用“&1”检查负数

此<[T1,T2,T2]>语法在TypeScript中有什么作用?

为什么SageMath中的(1-t)^ 2 ==(t-1)^ 2?

为什么我在返回F(n-1,t)+ F(n,t-1)行时出错?

为什么varargs(Class <?extends Throwable> ... t)是“未经检查或不安全”的操作?

为什么Array.IndexOf不像List <T>那样检查IEquatable?

为什么要对Sorbet进行类型检查同时需要sig和T.let?

在检查null和undefined之后,为什么需要将`as NonNullable <T>`强制转换?

T :: T(T&)的用途是什么?

为什么“ for t [1] inererable”有效语法?

为什么在C中-1> strlen(t)为真?

为什么我收到线程 t1 的 IllegalMonitorStateException

在shell脚本中“ if [-t 1]”有什么作用?

(size_t)-1和〜0有什么区别?

linux中的“ ls -t | head -n 1”是做什么的?

Typescript 中语句“export type T1 = object & ComponentOptions<T1, T2>”的“&”是什么意思?

1>在exec 1>>(logger -s -t标记名)2>&1中的用途是什么?

为什么Tuple <T1,T2,T3>不继承自Tuple <T1,T2>?

算法的复杂性是什么:T(n)= 3 * T(n÷b)+n²+ 1?

什么是直接从T1数据填充T2的Excel公式?

什么“使用 VirtualFn1_t = void(__thiscall*)(void* thisptr);” 在 C++ 中意味着什么?

在Java中使用System.nanoTime()时,为什么要使用t1-t0 <0,而不是t1 <t0