什么是${PWD##*/};对Docker来说,Github行动意味着什么?

什么是${PWD##*/};对Docker来说,Github行动意味着什么?,docker,yaml,airflow,Docker,Yaml,Airflow,我用这个来运行气流图像,注意到Github中有以下几行: 我知道,docker run采用的参数形式是[OPTIONS]IMAGE[COMMAND][ARG…],因此我知道图像是由“${PWD##*/}”确定的,但我不确定这到底在做什么 我原以为这可能是Github操作的YAML规范的一部分,但我在中找不到匹配项。看了docker run的文档后,我不确定下一步该看哪里 “${PWD###*/}”表示什么?它不是docker或github特定的,而是shell 看 ${string##subst

我用这个来运行气流图像,注意到Github中有以下几行:

我知道,
docker run
采用的参数形式是
[OPTIONS]IMAGE[COMMAND][ARG…]
,因此我知道图像是由
“${PWD##*/}”
确定的,但我不确定这到底在做什么

我原以为这可能是Github操作的YAML规范的一部分,但我在中找不到匹配项。看了
docker run
的文档后,我不确定下一步该看哪里


“${PWD###*/}”
表示什么?

它不是docker或github特定的,而是shell

${string##substring}

从$string前面删除最长匹配的$substring

因此代码
“${PWD###*/}”
删除所有内容,直到(包括)
$PWD
中的最后一个斜杠,因此它获取目录名而不包含整个路径

另一种可能性是:

"$(basename $PWD)"

它不是docker或github特定的,而是shell

${string##substring}

从$string前面删除最长匹配的$substring

因此代码
“${PWD###*/}”
删除所有内容,直到(包括)
$PWD
中的最后一个斜杠,因此它获取目录名而不包含整个路径

另一种可能性是:

"$(basename $PWD)"

这是有道理的,我从你的答案中理解为它接受pwd的结果,例如
/foo/bar/boo
并返回
boo
这是有道理的,我从你的答案中理解为它接受pwd的结果,例如
/foo/bar/boo
并返回
boo