社区
Linux/Unix社区
帖子详情
$(shell pwd)和$(pwd)有什么区别
heytry4
2011-01-09 11:59:56
俺在一个Makefile中看到这样的语句$(shell pwd)
俺知道$(pwd)是执行pwd这条指令, 但不清楚$(shell pwd)中的shell有什么用,请高手帮忙.
...全文
27725
9
打赏
收藏
$(shell pwd)和$(pwd)有什么区别
俺在一个Makefile中看到这样的语句$(shell pwd) 俺知道$(pwd)是执行pwd这条指令, 但不清楚$(shell pwd)中的shell有什么用,请高手帮忙.
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
chenzhengnan
2012-08-16
打赏
举报
回复
非常感谢
dengqianyi
2012-04-26
打赏
举报
回复
学习了,非常感谢
zcf_tarena
2012-04-17
打赏
举报
回复
非常感谢
azhujudah
2011-08-01
打赏
举报
回复
非常感謝!!
knief不懂就问
2011-06-27
打赏
举报
回复
同感谢
heytry4
2011-01-10
打赏
举报
回复
非常感謝
bluejays
2011-01-10
打赏
举报
回复
1
这个shell应该是make里面的一个函数。
从著名的《跟我一起写 Makefile》里面找到这么一段:
八、shell函数
shell函数也不像其它的函数。顾名思义,它的参数应该就是操作系统Shell的命令。它和反引号“`”是相同的功能。这就是说,shell函数把执行操作系统命令后的输出作为函数返回。于是,我们可以用操作系统命令以及字符串处理命令awk,sed等等命令来生成一个变量,如:
contents := $(shell cat foo)
files := $(shell echo *.c)
注意,这个函数会新生成一个Shell程序来执行命令,所以你要注意其运行性能,如果你的Makefile中有一些比较复杂的规则,并大量使用了这个函数,那么对于你的系统性能是有害的。特别是Makefile的隐晦的规则可能会让你的shell函数执行的次数比你想像的多得多。
bluejays
2011-01-10
打赏
举报
回复
Makefile里面好像必须加shell,直接用$(pwd)好象不行。
我刚才试了一下,把这几行保存成Makefile,然后make可以看到结果
P=$(shell pwd) # 这样可以输出路径
#P=$(pwd) # 这样没有输出
all:
echo $P
【
Shell
系列】$(
shell
pwd
)和$(
pwd
)用法
区别
本文详细介绍了在
Shell
脚本和Makefile中$(
shell
pwd
)与$(
pwd
)的
区别
,前者执行
pwd
命令,后者直接表示当前目录。同时讲解了dirname和basename命令的用途,dirname用于获取文件的父目录,basename则用于提取文件的基本名称。
【
Shell
】$(cd `dirname $0`;
pwd
)与直接使用
pwd
的
区别
本文详细解析了在
Shell
脚本中使用`$(cd `dirname $0`;
pwd
)`与直接使用`
pwd
`命令的
区别
。前者用于获取脚本的执行目录,不受当前工作目录影响,后者则显示命令执行时所在的目录。通过示例脚本`tset.sh`的运行结果,阐述了这两个命令在不同目录执行时的不同输出,并展示了如何利用$(cd `dirname $0`;
pwd
)获取脚本路径及上级目录,从而确保在不同路径下正确获取脚本相关路径。
shell
$(cd `dirname $0`;
pwd
)和
pwd
的
区别
本文详细介绍了在Linux环境中,如何通过执行`$(cd `dirname $0`;
pwd
)`命令来获取当前脚本的完整路径。该命令首先利用`dirname $0`获取脚本所在目录,然后使用`cd`切换到该目录并用`
pwd
`显示路径。无论脚本在何处执行,此方法都能确保输出正确的脚本路径。举例中展示了两种不同情况的执行结果,突出了命令的实用性和可靠性。
Shell
脚本中的大小写陷阱:为什么 ${
PWD
} 而不是 ${
pwd
}?
本文讲述开发者在
Shell
脚本编写中,因混淆${
pwd
}和${
PWD
}导致脚本出错的经历。介绍了二者根本
区别
,${
PWD
}是内置环境变量,存储当前工作目录路径,${
pwd
}是普通变量名。还给出常见系统环境变量获取方式及避免类似错误的方法。
运维
Shell
脚本小试牛刀(三)::$(cd $(dirname $0);
pwd
)命令详解
本文介绍了
Shell
脚本中的基础命令如$(cd$(dirname$0);
pwd
)路径获取,以及Linux中常用的变量如$#、$0、$1等的解释。还展示了如何使用
Shell
脚本进行参数处理和进程管理,如rsync和scp的
区别
,以及批量文件拷贝的示例。,
Linux/Unix社区
23,223
社区成员
74,536
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 应用程序开发区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章