V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
ivmm
V2EX  ›  问与答

挺迷幻的 No such file or directory,百思不得其解

  •  
  •   ivmm · 2017-06-11 23:29:03 +08:00 · 1203 次点击
    这是一个创建于 2714 天前的主题,其中的信息可能已经有所发展或是发生改变。

    要升级 OpenResty,把 sbin/nginx 文件重命名,

    然后迷幻场景了:

    root@ubuntu-2gb-sgp1-01-1497159849981-2gb-sgp1-01:~/src/openresty-1.11.2.2# mv /usr/local/openresty/nginx/sbin/nginx{,`date +%m%d`}
    -bash: mv /usr/local/openresty/nginx/sbin/nginx: No such file or directory
    

    然而,/usr/local/openresty/nginx/sbin/nginx 都是存在的,

    root@ubuntu-2gb-sgp1-01-1497159849981-2gb-sgp1-01:/usr/local/openresty/nginx/sbin# ls
    nginx
    

    如果在目录下重命名就可以,

    cd /usr/local/openresty/nginx/sbin
    mv nginx{,`date +%m%d`}
    ls
    nginx0611
    

    求科学家告诉我为啥呀~

    顺道问一下,OpenResty 不能单纯 make 后复制 sbin/nginx 文件升级的吧,不然 luajit 等文件岂不是不更新了

    5 条回复    2017-06-12 08:37:30 +08:00
    wdlth
        1
    wdlth  
       2017-06-12 00:19:34 +08:00
    很明显是你的命令有问题,bash 把 mv /usr/...当成一个文件去执行了,报错的是 bash 而不是 mv。
    如果是 mv 报错提示是:mv: cannot stat ‘/path/filename ’: No such file or directory
    wdlth
        2
    wdlth  
       2017-06-12 00:34:14 +08:00   ❤️ 1
    估计是你的 mv 后面那个空格是全角空格,我测试了一下,用 mv  /tmp/hello{,`date +%m%d`}就会出现你那种错误。有时一些所见即所得编辑器会进行符号的转换,所以复制的时候要检查一下。
    oott123
        3
    oott123  
       2017-06-12 01:26:45 +08:00 via Android
    所以为什么要升级 OpenResty 就要把 sbin/nginx 文件重命名呢(逃
    ivmm
        4
    ivmm  
    OP
       2017-06-12 08:33:24 +08:00
    @wdlth 我试试看是不是空格的问题


    @oott123 备份一下,以防万一
    ivmm
        5
    ivmm  
    OP
       2017-06-12 08:37:30 +08:00
    @wdlth 果然是空格的问题
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2504 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 16:01 · PVG 00:01 · LAX 08:01 · JFK 11:01
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.