早速、シェルスクリプトを作成してみましょう。今回のシェルスクリプト(officepdf_converter.sh)は、次のようになります。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
#!/bin/sh source_folder="${HOME}/office" destination_folder="${HOME}/pdf" currnt=$(pwd) cd ${source_folder} office_files=$(ls *.doc *.docx *.odt *.xls *.xlsx *.ods *.ppt *.pptx *.odp 2>/dev/null) cd {currnt} for i in ${office_files} do echo "${i}をPDFに変換します。しばらくお待ちください" soffice --headless --nolockcheck --language=ja --convert-to pdf --outdir ${destination_folder} ${source_folder}/${i} 1>/dev/null done 2> /dev/null |
3~4行目で、オフィス文書を格納するディレクトリ名と、PDFファイルを保存するディレクトリ名を、それぞれ「source_folder」と「destination_folder」の変数に代入しています。例のスクリプトでは、オフィス文書を格納するディレクトリ名を「office」、PDFファイルを保存するディレクトリ名を「pdf」として、どちらもホームディレクトリの下に作成しています。「${HOME}」で、環境変数の「HOME」からホームディレクトリのパスを取り出します。環境変数は、あらかじめ用意された変数です。システムが必要とする値を格納しています。HOMEのほかにも、実行ファイルを格納しているディレクトリを示す「PATH」、ユーザー名を格納している「USER」、標準の言語と文字コードを格納している「LANG」など、多数あります。