求教脚本无法运行的小问题
- 0次
- 2021-06-30 08:44:53
- idczone
最近在利用 Nautilus Actions 搞一些右键功能,其中一个就是:右键->记录文件名到本地 txt 文件,于是问题来了,同样一条命令
echo file > /home/.../getname.txt 在终端运行可以正常记录文件名。
但是在 Nautilus Actions 中
path:echo
parameters:%w > /home/.../getname.tx
而且它下方提示的输出样式也是 echo file > /home/.../getname.txt
但是无法获得文件名,本地 txt 文件没有变化,何解?
没用过这个工具,看起来是你的参数是只传给 echo 的,而不是整个 cmd+para 在 shell 下执行,echo 只能接收到第一个空格前的参数( file ),后面的被忽略
解决办法:写个 shell 脚本,接收一个参数,动作就是 echo $1 > /home....,然后 path 改成这个脚本,参数为%w
希望对你有用:)
echo 是一个 bash 内建命令,不是系统命令.
echo 是有对应的系统命令的
他直接写 echo 也肯定不会找到 /bin/echo 啊...
/bin/echo 我也尝试了,同样不行
还是采用你的建议,调用本地 shell 脚本了,大致是 echo -n $1 > /home/.../getname.txt 这样,在我看起来语义没什么变化,但是确实可以记录了,缺点就是增加一个本地文件吧,thanks。
cat file > othername.txt
额……我错了,你要的是文件名啊……
这里的 echo 不是通过 shell 调用的,' > xxx' 重定向输出是 shell 做的工作,所以这里' > xxx'做为参数起不到重定向输出的作用, 实际执行效果也许是这个样子: echo 'file > /home/.../getname.txt'
我猜这样可以
path: bash
parameters: -c "%w > /home/.../getname.txt"