xargs 好像是不支持cd的,大概是因为cd不再path目录中的原因。
我用which和whereis命令并没有找到cd的,后来百度找到的原因是cd命令集成到shell中的,所以没有单独的可执行文件。
ps -aux| grep vvvva| grep -v grep|awk '{print ("/proc/"$2"/cwd")}'| xargs ls -ld| awk -F'->' '{print($2)}'| xargs cd
# 执行后发现,这个是没得用的,会报标题中的错误
xargs: cd: No such file or directory
在一个博客中找到解决方案是,取消cd放到xargs中,cd还是放到bash中执行,如下所示。
cd `ps -aux| grep vvvva| grep -v grep|awk '{print ("/proc/"$2"/cwd")}'| xargs ls -ld| awk -F'->' '{print($2)}'`
参考:
Linux shell 命令cd是怎么实现的?放在哪个文件夹?
怎么解决Linux cd命令进入xargs管道输出目录报错的问题
版权声明:本文为u012939880原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。