Bash 将命令直接传送到shell可执行文件
我试图理解以下两者之间的区别 方法1:Bash 将命令直接传送到shell可执行文件,bash,Bash,我试图理解以下两者之间的区别 方法1: 发射bashshell 在bashshell上键入一个命令myu命令myargs 方法2: 发射bashshell 直接执行以下my_命令myargs |/bin/bash/ 我的命令在进近1中通过,但在进近2中不通过。我认为这两种方法是等效的。当然,在方法1中,在执行_命令之前,我没有执行任何命令/更改路径变量。在方法2中,我只是创建一个全新的shell,并将命令导入其中 有人能解释一下区别吗?是否缺少$PATH、环境变量等?如果是这样,我如何回音/查找
myu命令myargs
my_命令myargs |/bin/bash/
my_命令的输出传送到bash。
相当于
$(my_command myargs)
如果改为使用管道传输文字,它将起作用:
echo my_command myargs | /bin/bash/
请注意,您可能仍然会看到差异,因为方法1使用交互式shell,而方法2不使用。通常,您可能观察到的唯一区别是my_command
是别名或shell函数,而非交互式shell中可能未定义该别名或shell函数。