私は次の問題にぶつかりました:私は次のことを行うLinuxbashスクリプトを書いています:
- ファイルから行を読み取る
\n
読んだばかりの行の終わりから文字を削除します- そこにあるコマンドを実行します
例:commands.txt
ls
ls -l
ls -ltra
ps as
bashファイルを実行すると、最初の行を取得して実行する必要がありますが、\n
現在のところ、シェルは「command not found:ls」を出力するだけです。スクリプトのその部分は次のようになります。
read line
if [ -n "$line" ]; then #if not empty line
#myline=`echo -n $line | tr -d '\n'`
#myline=`echo -e $line | sed ':start /^.*$/N;s/\n//g; t start'`
myline=`echo -n $line | tr -d "\n"`
$myline #execute it
cat $fname | tail -n+2 > $fname.txt
mv $fname.txt $fname
fi
SOに尋ねる前に私が試したことがあるとコメントしました。解決策はありますか?私はこれでここ数時間頭を壊している...