• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    Linux系统中cd无法进入xargs管道输出的目录

    今天在写shell脚本的时候,想用cd进入xargs管道输出的目录,但是提示报错。详情如下:

    【环境描述】

    目录结构:

    [root@test1 nagiosclient_db]# ls -ltr
    total 2488
    -rw-r--r--.        1     root   root    405725   Mar  3 14:12   nrpe-2.12.tar.gz
    -rw-r--r--.        1     root   root    2095419 Mar  3 14:12   nagios-plugins-1.4.15.tar.gz
    drwxrwxrwx.   16   501  root    4096        Mar  3 14:36   nagios-plugins-1.4.15
    drwxrwxr-x.     7     500  500    4096        Mar  3 14:37   nrpe-2.12

    获取需要的目录:

    [root@test1 nagiosclient_db]# ls | egrep 'nrpe-[0-9].[0-9]+.$'
    nrpe-2.12

    使用管道进入指定的目录:

    [root@test1 nagiosclient_db]# ls | egrep 'nrpe-[0-9].[0-9]+.$' | xargs ls -ld | xargs cd
    xargs: cd: No such file or directory


    遇到报错提示。

    修改命令:

    [root@test1 nagiosclient_db]# cd "`ls | egrep 'nrpe-[0-9].[0-9]+.$' `"
    [root@test1 nrpe-2.12]# pwd
    /home/monitor/nagiosclient_db/nrpe-2.12

    进入了指定的目录。

    【为什么cd命令不能进入xargs管道输出的目录】

    xargs牵涉写管道,而cd是内部命令。具体的牵涉shell的工作原理。

    查看cd命令的绝对路径:

    [root@test1 nrpe-2.12]# which cd
    /usr/bin/which: no cd in (/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin)

    查看xargs的绝对命令:

    [root@test1 nrpe-2.12]# which xargs
    /usr/bin/xargs


    详情如上,因非系统工程师,故此处不对shell的原理做深入研究。

    【参考链接】

    http://bbs.chinaunix.net/thread-750335-2-1.html
    http://blog.csdn.net/jason_asia/article/details/28407189

    上一篇:Linux mount: Structure needs cleaning 错误解决方法
    下一篇:Adobe Reader因不再吸引Linux用户决定退出Linux系统
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    Linux系统中cd无法进入xargs管道输出的目录 Linux,系统,中,无法,进入,