- - PR -
シェルスクリプト バッククォーテーション内の処理。
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2005-09-17 13:53
こんにちは。
せっかくですので、これも問題にしてみましょう。 尤も、実用性は恐らく薄めなので、あまり気張らなくても良いかと思います。いや、むしろやらない方が良いかも。 問題1. Tab文字をコマンド引数に混ぜるためには、クォートなりを使う必要があります。 例:# echo 'hoge<TAB>hoge' ← <TAB> は Tab文字 ( Ctrl-V、Tab で入力) su の -c でこういったコマンドを指定するには、どのような quoting が必要でしょうか。さらに、su -c で入れ子にしていく場合はどうすれば良いでしょうか。 ただし、ダブルクォートは使わず、シングルクォートを使用してください。 ※ダブルクォートを使用する例は、一番下の例を参考にしてください。 Level0:# echo 'hoge<TAB>hoge' Level1:# su -c 'echo hoge<TAB>hoge' を元にどうぞ Level2:# su -c 'su -c echo hoge<TAB>hoge' を元にどうぞ Level3:# su -c 'su -c su -c echo hoge<TAB>hoge' を元にどうぞ … 問題2. 問題1.において、シングルクォートも使わない方法を考えてください。 Level0:# echo hoge<TAB>hoge を元にどうぞ Level1:# su -c echo hoge<TAB>hoge を元にどうぞ … 例:ダブルクォートを使う場合 Level0:# echo "hoge<TAB>hoge" Level1:# su -c "echo \"hoge<TAB>hoge\"" Level2:# su -c "su -c \"echo \\\"hoge<TAB>hoge\\\"\"" Level3:# su -c "su -c \"su -c \\\"echo \\\\\\\"hoge<TAB>hoge\\\\\\\"\\\"\"" … ※何人できる/やる気になるでしょうか?? [ メッセージ編集済み 編集者: angel 編集日時 2005-09-17 14:04 ] |