我在项目的 .sh 文件中找到了以下代码片段来定义某些路径:
PGMPATH=`pwd|sed -e "s#/survey1##" `
上面这行是什么意思?
PGMPATH 的引用如下:
LIBS="${LIBS}:${PGMPATH}/edmz-par-api_1.4.jar"
LIBS="${LIBS}:${PGMPATH}/commons-logging.jar"
如果它告诉了jar文件所在的路径,请解释它是如何工作的。
最佳答案
首先您应该知道这是两个命令 - pwd
和 sed -e "s#/survey1##"
- 并且这两个命令在 pipeline 中一起运行。 。也就是说,第一个命令的输出将作为输入发送到第二个命令。
一般而言,这就是 |
在 UNIX shell 脚本中的含义。
那么,这些命令的作用是什么? pwd
代表“打印工作目录”并打印当前目录(您运行脚本的位置,除非脚本本身包含任何 cd
命令)。
sed
是一个命令,它实际上是一种完全独立的编程语言,人们可以用它来执行许多简单的文本处理命令。这里的简单 sed
程序 - s#/survey1##
- 从输入中删除字符串 /survey1
,并打印结果。
因此最终结果是变量 PGMPATH
成为当前目录,其中 /survey1
被删除。
关于linux - pwd|sed -e 是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30398518/