[解決済み] Bashのスクリプトパラメータ
2022-08-12 13:40:12
質問
このようなシェルスクリプトを作成しようとしています。
ocrscript.sh -from /home/kristoffer/test.png -to /home/kristoffer/test.txt
このスクリプトは、画像ファイルをテキストファイルにocr変換してくれます。今のところ思いついたのはこんな感じです。
#!/bin/bash
export HOME=/home/kristoffer
/usr/local/bin/abbyyocr9 -rl Swedish -if ???fromvalue??? -of ???tovalue??? 2>&1
しかし、どのようにすれば
-from
と
-to
の値を変更することができます。これを行う方法について何かアイデアはありますか?
どのように解決するのですか?
bashscriptに与えた引数は、変数に表示されます。
$1
と
$2
そして
$3
ここで、数字は引数を意味する。
$0
はコマンドそのものである。
引数はスペースで区切られます。
-from
と
-to
をコマンドで指定すると、これらの変数の中にも入ってしまうので、この場合は
./ocrscript.sh -from /home/kristoffer/test.png -to /home/kristoffer/test.txt
得ることができます。
$0 # ocrscript.sh
$1 # -from
$2 # /home/kristoffer/test.png
$3 # -to
$4 # /home/kristoffer/test.txt
を省略する方が簡単かもしれません。
-from
と
-to
のような、です。
ocrscript.sh /home/kristoffer/test.png /home/kristoffer/test.txt
では、そうなります。
$1 # /home/kristoffer/test.png
$2 # /home/kristoffer/test.txt
欠点は、正しい順序で供給しなければならないことです。コマンドラインでの名前付き引数の解析を簡単にするライブラリもありますが、通常、単純なシェルスクリプトでは、問題がなければ、簡単な方法で済ませるべきでしょう。
では、できること。
/usr/local/bin/abbyyocr9 -rl Swedish -if "$1" -of "$2" 2>&1
をダブルクォートで囲んでいるのは
$1
と
$2
は必ずしも必要ではありませんが、二重引用符でくくらないと動作しない文字列があるため、推奨されます。
関連
-
[解決済み] Bashスクリプトのソースディレクトリをスクリプト自体から取得するにはどうすればよいですか?
-
[解決済み] Bashシェルスクリプトでディレクトリが存在するかどうかを確認するにはどうすればよいですか?
-
[解決済み] Bashで通常のファイルが存在しないかどうかを判断する方法を教えてください。
-
[解決済み] Bashで文字列変数を連結する方法
-
[解決済み] Bashで文字列が部分文字列を含むかどうかをチェックする方法
-
[解決済み] Bash prints リテラルの改行をエコーする \n
-
[解決済み] Bashスクリプトからプログラムが存在するかどうかを確認するにはどうすればよいですか?
-
[解決済み] Bashで文字列をデリミターで分割するには?
-
[解決済み] Bashでファイルの中身をループする
-
[解決済み] Bashシェルスクリプトの入力引数の存在確認
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Linux sarコマンドによるシステム性能の詳細解析事例
-
Linuxでファイルパーミッションを与えるには?Linuxでファイルに実行可能なパーミッションを追加するためのヒント
-
Manjaro linuxでマウスの速度を設定する方法は?Manjaroのマウスのカーソル速度を設定する方法に関するヒント
-
rsyncとinotfiyの組み合わせでリアルタイムバックアップ問題を実現
-
GCCのバージョンによる浮動小数点演算の例外発生
-
floor'への未定義の参照/`&'への未定義の参照
-
[解決済み] Linuxで特定のテキストを含むすべてのファイルを検索するにはどうすればよいですか?
-
[解決済み] どのバージョンのPostgreSQLを使用していますか?
-
[解決済み] エクスポートあり/なしの変数の定義
-
[解決済み] Linuxで特定のポートで動作しているプロセスを停止させる方法は?