pwd|sed -e 是什么意思?

What is the meaning of pwd|sed -e?

我在项目的 .sh 文件中找到了以下代码段来定义一些路径:

PGMPATH=`pwd|sed -e "s#/survey1##" `

上面一行是什么意思?

PGMPATH 的引用如下:

 LIBS="${LIBS}:${PGMPATH}/edmz-par-api_1.4.jar"
 LIBS="${LIBS}:${PGMPATH}/commons-logging.jar"

如果它告诉 jar 文件所在的路径,请解释它是如何工作的。

所以首先你应该知道这是两个命令 - pwdsed -e "s#/survey1##" - 这两个命令在 pipeline 中一起 运行。也就是说,第一个命令的输出将作为输入发送到第二个命令。

也就是说,一般来说,| 在 unix shell 脚本中的意思。

那么,这些命令的作用是什么? pwd 代表 "print working directory" 并打印当前目录(你 运行 脚本的来源,除非脚本本身有任何 cd 命令)。

sed 是一个命令,它实际上是一种完全独立的编程语言,人们可以使用它来执行许多简单的文本处理命令。您这里的简单 sed 程序 - s#/survey1## - 从其输入中剥离字符串 /survey1,并打印结果。

所以最终结果是变量 PGMPATH 成为当前目录,/survey1 被删除。