![bash:在for循环中打开多个文件](https://linux22.com/image/13246/bash%EF%BC%9A%E5%9C%A8for%E5%BE%AA%E7%8E%AF%E4%B8%AD%E6%89%93%E5%BC%80%E5%A4%9A%E4%B8%AA%E6%96%87%E4%BB%B6.png)
我想打开一个小目录中的所有图像,其中包含少量任意图像,每个图像都在其自己的窗口中,该窗口具有旋转和缩放控件。
我尝试过 eog、eom、imagemagick、gimp、shotwell...但<app> *.jpg&
没有令人满意的结果。通常应用程序只打开一个窗口。 Eye of Gnome/MATE 提供 --new-instance 但这不提供多个实例。
我现在正在尝试这个:
for f in $(ls *jpg);do open $f;done;
但这会在第一次打开后停止并等待。
我尝试
for f in $(ls *jpg);do open $f&;done;
但这是一个错误
bash: syntax error near unexpected token `;'
我怎样才能做到这一点?
我有一个解决方法:
ls *jpg > ims
然后编辑 ims 来生成
eom -n 20200109_144447.jpg&
eom -n 20200109_144804.jpg&
eom -n 20200109_150828.jpg&
eom -n 20200109_150845.jpg&
eom -n 20200109_150853.jpg&
然后发出:
bash ims
这让我得到了我正在寻找的东西,但我想要一个一步解决方案。
更新:
Steeldriver 指出我的命令中的错误。这有效:
for f in *jpg;do eom -n $f & done;
请注意命令中删除了扩展 $() 和第二个分号。