linux - pwd|sed -e 是什么意思?

标签 linux shell sed scripting

我在项目的 .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 代表“打印工作目录”并打印当前目录(您运行脚本的位置,除非脚本本身包含任何 cd 命令)。

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

因此最终结果是变量 PGMPATH 成为当前目录,其中 /survey1 被删除。

关于linux - pwd|sed -e 是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30398518/

相关文章:

linux - 使用 'sed' shell 命令部分替换字符串

linux - 为什么这个行编号命令会破坏字符编码?

linux - 如何在 Visual Code 中的集成终端之间切换?

c++ - 在 makefile 中包含 valgrind

mysql - OS X 上的 Apache MySQL 控制脚本

regex - 如何在 sed 命令中匹配正则表达式 1 到 3 次?

node.js - Nodejs 应用程序无法与 crontab @reboot 一起使用

linux - 替换文件名和内容 : shell script

linux - 预览图像的多个缩略图

python - 外壳 : insert a blank/new line two lines above pattern