Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
bsns
V2EX  ›  Linux

求教脚本无法运行的小问题

  •  
  •   bsns · Jun 5, 2017 · 3657 views
    This topic created in 3284 days ago, the information mentioned may be changed or developed.
    最近在利用 Nautilus Actions 搞一些右键功能,其中一个就是:右键->记录文件名到本地 txt 文件,于是问题来了,同样一条命令
    echo file > /home/.../getname.txt 在终端运行可以正常记录文件名。
    但是在 Nautilus Actions 中
    path:echo
    parameters:%w > /home/.../getname.tx
    而且它下方提示的输出样式也是 echo file > /home/.../getname.txt
    但是无法获得文件名,本地 txt 文件没有变化,何解?
    9 replies    2017-06-05 16:22:48 +08:00
    freedomSky
        1
    freedomSky  
       Jun 5, 2017 via iPhone
    没用过这个工具,看起来是你的参数是只传给 echo 的,而不是整个 cmd+para 在 shell 下执行,echo 只能接收到第一个空格前的参数( file ),后面的被忽略

    解决办法:写个 shell 脚本,接收一个参数,动作就是 echo $1 > /home....,然后 path 改成这个脚本,参数为%w

    希望对你有用:)
    xiaket
        2
    xiaket  
       Jun 5, 2017
    echo 是一个 bash 内建命令,不是系统命令.
    araraloren
        3
    araraloren  
       Jun 5, 2017
    @xiaket echo 是有对应的系统命令的
    xiaket
        4
    xiaket  
       Jun 5, 2017
    @araraloren 他直接写 echo 也肯定不会找到 /bin/echo 啊...
    bsns
        5
    bsns  
    OP
       Jun 5, 2017
    @bsns /bin/echo 我也尝试了,同样不行
    @freedomSky 还是采用你的建议,调用本地 shell 脚本了,大致是 echo -n $1 > /home/.../getname.txt 这样,在我看起来语义没什么变化,但是确实可以记录了,缺点就是增加一个本地文件吧,thanks。
    zhidian
        6
    zhidian  
       Jun 5, 2017
    cat file > othername.txt
    zhidian
        7
    zhidian  
       Jun 5, 2017
    额……我错了,你要的是文件名啊……
    freedomSky
        8
    freedomSky  
       Jun 5, 2017
    @bsns 这里的 echo 不是通过 shell 调用的,' > xxx' 重定向输出是 shell 做的工作,所以这里' > xxx'做为参数起不到重定向输出的作用, 实际执行效果也许是这个样子: echo 'file > /home/.../getname.txt'
    oaix
        9
    oaix  
       Jun 5, 2017
    我猜这样可以
    path: bash
    parameters: -c "%w > /home/.../getname.txt"
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5619 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 35ms · UTC 06:44 · PVG 14:44 · LAX 23:44 · JFK 02:44
    ♥ Do have faith in what you're doing.