> echo "hi"
hi
> VAR='echo "hi"'
> $VAR
"hi"
上記のコマンドの出力が異なるのはなぜですか?
単一引用符でも同様のことが起こります。
> VAR="echo 'hi'"
> $VAR
> 'hi'
@ jw013良い点と素晴らしい記事。「変数はデータを保持し、関数はコードを保持します」という引用が好きです。最初のリンクからですが、私の使用法では、関数(この場合は
—
コリークライン
at)に与えられるデータはコードです。提供されるコードを整理/収集するより安全な方法に関するヒントはありatますか?
atsh入力として構文を取ります。したがって、入力を生成することatはsh、任意の入力から有効で適切に引用された構文を生成することを意味します。達成しようとしていることについてもう少し詳しく説明できれば、本当に役立ちます。
申し訳ありませんが、あまり詳細に注意をそらしたくはありませんでしたが、私がやっていることはそれほど複雑ではありません、IMO。「時間」と「メッセージ」をとるスクリプトを作成しています。次に
—
コリークライン
at、指定された「時間」の間at実行され、コマンドの実行を指示しますdzen2。 dzen2stdinから「メッセージ」を取得し、他の静的パラメーターも使用します。困難なのは、ユーザーからの「メッセージ」パラメーターをdzen2コマンドにパイプする必要があることですが、実際dzen2には自分で実行しているのではなく、実行atするように指示しています。
evalあなたは非常に慎重に踏む必要があります潜在的なセキュリティホールの地雷原である