[解決済み] コマンドの標準入力に変数の値を渡すには?
2022-06-03 19:30:37
質問
シェルスクリプトを書いていますが、ある程度安全でなければなりません。つまり、コマンドのパラメータを通して安全なデータを渡さず、できれば一時ファイルを使用しないようにします。コマンドの標準入力に変数を渡すにはどうしたらよいでしょうか。
あるいは、それが不可能な場合、そのようなタスクのために一時ファイルを正しく使用するにはどうしたらよいでしょうか。
どのように解決するのですか?
簡単ですが、エラーが起こりがちです。
echo
このようなシンプルなもので十分です。
echo "$blah" | my_cmd
の場合、正しく動作しない可能性があることに注意してください。
$blah
が含まれている場合
-n
,
-e
,
-E
など; またはバックスラッシュを含む場合 (bash のコピーである
echo
がない場合、リテラルバックスラッシュを保持します。
-e
がない場合でも、デフォルトではバックスラッシュをエスケープシーケンスとして扱い、対応する文字に置き換えます。
-e
がなくても対応する文字に置き換わります。)
より洗練されたアプローチ
printf
printf '%s\n' "$blah" | my_cmd
これは、上記のような欠点はありません。すべての可能なC文字列(NULを含まない文字列)は、変更されずに表示されます。
関連
-
[解決済み] Bashスクリプトのソースディレクトリをスクリプト自体から取得するにはどうすればよいですか?
-
[解決済み] Bashシェルスクリプトでディレクトリが存在するかどうかを確認するにはどうすればよいですか?
-
[解決済み] PHPでSQLインジェクションを防ぐにはどうしたらいいですか?
-
[解決済み] 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 実装 サイバーパンク風ボタン