いつもお世話になっています。
現在、業務で緊急で必要となるシェルスクリプトを作成しております。
当シェルスクリプトですが、引数にエスケープ文字を含むものとなっており、
*(アスタリスク)を引数に含むケースで、うまくいきません。
シェルスクリプトの内容と実行結果を以下に掲載しますので、
どなたか詳しい方、ご教授いただけますでしょうか。よろしくお願いします。
以下、作ったシェルスクリプトです
(説明のため簡略化してあります)
bulkUpdateSchecule.sh
for file in `ls`; do tdUpdate="td sched:update ${file} -s \"$1\" -d sample_db -t 'Asia/Tokyo' -T presto" echo ${tdUpdate} done
以下、実行例です
(crontabコマンドの引数と同じ形式で、スケジュール日時を渡すスクリプトとなっています)
sudo sh sample.sh "59 * * * *"
上記スクリプトを実行しますと、アスタリスクの部分に、変数fileの内容が格納されてしまいます。
「呼び出し側でアスタリスクをエスケープしてみる」「シェルスクリプト内で置換処理を埋め込む」などしましたが、どうもうまくいきません...。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/02/29 15:41