linux - pcmanfm-qt 自定义操作中的多个命令?

标签 linux pipe pandoc file-manager pcmanfm

解决方案和完整的执行线

Exec=sh -c 'sed -i "1s:.*:<body background=%f>:" /home/burak/Not/Shortcuts.mkd && pandoc -f markdown /home/burak/Not/Shortcuts.mkd --css /home/burak/Public/CSS/pandoc2.css -s -S -w html -o /home/burak/Not/Shortcuts.html && phantomjs /home/burak/bin/shortcuts.js file:///home/burak/Not/Shortcuts.html /home/burak/Not/shortcuts.jpg 1920px*1080px && feh --bg-fill /home/burak/Not/shortcuts.jpg'

这可能与使用相同 (DES-EMA) 方案的其他文件管理器有关。

我有四个命令都单独工作,但我只是坚持将第二个命令添加到自定义操作的 Exec 行。如果我克服了这个问题,我想可以相应地(或通过管道)添加其他两个剩余的命令。

这是我的命令和关于它们的用途的信息(显然,%f 将扩展到在文件管理器中单击的文件):

sed -i "1s:.*:<body background=%f>:" /home/burak/Not/Shortcuts.mkd

上面的命令用下面的第二个命令替换了 markdown 文件的第一行,该文件更改了 pandoc 生成的 html 文件的背景图像:

pandoc -f markdown /home/burak/Not/Shortcuts.mkd --css /home/burak/Public/CSS/pandoc2.css -s -S -w html -o /home/burak/Not/Shortcuts.html

下面的第三个命令将 Shortcuts.html 转换为 shortcuts.jpg

phantomjs shortcuts.js file:///home/burak/Not/Shortcuts.html shortcuts.jpg 1920px*1080px

最后,下面的第四条命令将上面的 shortcuts.jpg 图像设置为桌面墙纸(所有快捷方式、bash 别名和一些其他命令嵌入到桌面中)。

feh --bg-fill %f

所以最后我会轻松更改墙纸并将我的键盘快捷键和别名等嵌入到每个新墙纸中,如下所示:

wallpaper with shortcuts embeded

现在,如前所述,我卡在了开头,即无法将第二个命令添加到第一个命令。我已经尝试过但没有成功:

Exec=sed -i "1s:.*:<body background=%f>:" /home/burak/Not/Shortcuts.mkd && pandoc -f markdown /home/burak/Not/Shortcuts.mkd --css /home/burak/Public/CSS/pandoc2.css -s -S -w html -o /home/burak/Not/Shortcuts.html

但这都不起作用:

Exec=sh -c "sed -i "1s:.*:<body background=%f>:" /home/burak/Not/Shortcuts.mkd && pandoc -f markdown /home/burak/Not/Shortcuts.mkd --css /home/burak/Public/CSS/pandoc2.css -s -S -w html -o /home/burak/Not/Shortcuts.html"

管道 (|) 这两个命令在终端中有效,但在自定义操作桌面文件中无效。

我应该做什么(如果重要的话,在带有 Fluxbox 的 Arch Linux 上)?

最佳答案

该死的!..以为我以前试过这个,但似乎不是这样。那么,以这种方式进行管道工作:

Exec:sh -c 'sed "1s:.*:<body background=%f>:" < /home/burak/Not/Shortcuts.mkd | pandoc --css /home/burak/Public/CSS/pandoc2.css -s -S -w html -o /home/burak/Not/Shortcuts.html'

关于linux - pcmanfm-qt 自定义操作中的多个命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37164648/

相关文章:

linux - linux中的 'see read(2)'是什么意思?

linux - 如何分析lpt测试用例的测试结果

对在 shell 中实现多管道感到困惑

c - 在Linux中使用命名管道和信号灯

bash - 如何在不创建临时文件的情况下像查看手册页一样查看 Markdown 文件?

c++ - 将共享库的搜索路径更改为 Makefile 中提供的 rpath

linux - gunicorn 开机后不启动

c - 如何锁定具有多个读取进程的 PIPE(或 FIFO)?

latex - Pandoc Markdown 分页符

html - 在不影响突出显示的情况下在 pandoc 中设置预 block 样式