#実現したいこと
シェルスクリプト(demo.sh)で特定のファイル(demo.txt)を1読み込んで1行ずつ読み込んでlogger
をしたいと思っていますが、
特定ファイルの中に「* * *」を記載された箇所がうまく読み込んでlogger
できないです。
ご教示お願いいたします。
【理想の出力】
--> apple --> * * * --> grape
whil文で変数にしている以下の部分がうまく処理できていないみたいです。
eval TEST$x="'--> '${line}"
【demo.sh】
#!bin/bash x=1 while read line do eval TEST$x="'--> '${line}" eval echo $TEST$x >> /tmp/test.txt x=$(( x + 1 )) done < demo.txt LOGGER=`cat /tmp/test.txt | tr "\n" "" ";echo` logger $LOGGER
sh -x demo.shで実行すると
+ x=1 + read line + eval 'TEST1='\''--> '\''apple' ++ TEST1='--> apple' + eval echo '$TEST1' ++ echo '-->' apple + x=2 + read line + eval 'TEST2='\''--> '\''* * *' ++ TEST2='--> *' ++ demo.sh demo.txt test2.sh test3.sh test.log #カレントディレクトリにあるファイルやフォルダ名が並んでいる demo.sh: 行 6: test.log: コマンドが見つかりません + eval echo '$TEST2' ++ echo + x=3 + read line + eval 'TEST3='\''--> '\''grape' ++ TEST3='--> grape' + eval echo '$TEST3' ++ echo '-->' grape ...
【demo.txt】
apple * * * grape
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。