Cygwin $ 0没有按预期工作

时间:2015-04-21 11:34:36

标签: bash cygwin

我在cygwin下有一个奇怪的0美元行为。

在我的脚本中,我执行echo "$0",并获取输出-bash而不是路径名。但是,如果我执行realpath $ 0,我会得到实际的路径。为什么会这样,其他人也会遇到这种情况吗?

我正在尝试获取脚本,这会改变一些事情吗?

1 个答案:

答案 0 :(得分:2)

是的,采购是原因。采购不会启动不同的流程,因此当脚本为$0时,source之类的内容会继续显示其值。

这是一个脚本myname

#!/bin/bash
echo "$0"

这是采购:

$ source myname
-bash

这是运行脚本:

$ ./myname
./myname

你有!

更新:这不是cygwin特定的。根据设计,所有shell都应该以这种方式运行。