我需要使用pnmtojpeg将几个pnm图像文件转换为jpeg。所以我使用了这个脚本,我将其命名为' pnm2jpg':
for f in *.pnm;
do pnmtojpeg -quality=85 "$f" > "${f%.pnm}.jpg";
done
这很好用。但是,我想进一步调整它,以便它也可以用于单个文件。
换句话说,如果在命令行中没有指定文件,则处理所有文件。
$ pnm2jpg thisfile.pnm # Process only this file.
$ pnm2jpg # Process all pnm files in the current directory.
非常感谢您的见解 - 谢谢。
答案 0 :(得分:1)
类似的东西:
#!/bin/bash
if [[ -z "$1" ]]; then
for f in *.pnm; do
pnmtojpeg -quality=85 "$f" > "${f%.pnm}.jpg"
done
else
pnmtojpeg -quality=85 "$1" > "${1%.pnm}.jpg"
fi
如果在没有参数的情况下执行pnm2jpg
,则会处理if
块。
如果执行pnm2jpg thisfile.pnm
,则处理else
块。