[解決済み] コマンド出力を変数に格納する際に、改行を保持する方法は?
2022-04-21 17:41:26
質問
Linuxでbashシェルを使っています。 次のような簡単なスクリプトがあります。
#!/bin/bash
TEMP=`sed -n '/'"Starting deployment of"'/,/'"Failed to start context"'/p' "/usr/java/jboss/standalone/log/server.log" | tac | awk '/'"Starting deployment of"'/ {print;exit} 1' | tac`
echo $TEMP
しかし、このスクリプトを実行すると
./temp.sh
の出力はすべて、キャリッジリターンや改行なしで印刷されます。 出力を$TEMPに保存する方法なのか、echoコマンドそのものが原因なのかはわかりません。
コマンドの出力を変数に格納し、改行/キャリッジリターンを維持するにはどうすればよいですか?
どのように解決するのですか?
引用 という変数があります。以下はその理由です。
$ f="fafafda
> adffd
> adfadf
> adfafd
> afd"
$ echo $f
fafafda adffd adfadf adfafd afd
$ echo "$f"
fafafda
adffd
adfadf
adfafd
afd
引用符で囲まない場合、シェルは以下のように置き換えます。
$TEMP
という文字が含まれています(そのうちの1つは改行です)。そして,起動する前に
echo
シェルはその文字列を複数の引数に分割するために
Internal Field Separator
(IFS)し、その結果の引数リストを
echo
. デフォルトでは
IFS
は空白文字(スペース、タブ、改行)に設定されているため、シェルはあなたの
$TEMP
シェルは改行をスペースと同じようにセパレータと見なすので、改行を見ることはありません。
関連
-
リクエスト・エンティティが大きすぎる問題の解決策
-
[解決済み] プログラムの実行やシステムコマンドの呼び出しはどのように行うのですか?
-
[解決済み] Bashでコマンドライン引数を解析するには?
-
[解決済み] Bashでコマンドの出力に変数を設定するにはどうすればよいですか?
-
[解決済み] Bashで変数が設定されているかどうかを確認する方法は?
-
[解決済み] エクスポートされた環境変数を削除する方法を教えてください。
-
[解決済み] find .コマンドでディレクトリを除外する方法
-
[解決済み] Git上でシェルコマンドを実行する際に使用するSSH-keyの秘密鍵を指定する方法は?
-
[解決済み] Pythonで改行(行継続)をするにはどうしたらいいですか?
-
[解決済み] コマンドラインから .bash_profile を再読み込みする方法は?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
LinuxでSteamをダウンロードしインストールする方法
-
deepinv20 linux ファイルのサフィックスを変更する方法は?Linuxでファイルの拡張子を変更する方法
-
Kali Linuxのデスクトップの外観スタイルを変更するには? KALIの外観の最適化のヒント
-
Kali Linuxのデフォルトのひげメニューアイコンを変更する方法は?
-
2020年deepin Deep OS V20のアップデートによる更新情報
-
エラーの解決方法 お客様のバージョンは /bin/bash: java: コマンドが見つかりませんでした。
-
[解決済み] ビーコン待ちでハングアップしたリーバー
-
[解決済み] Linuxでデータファイルから最初の列(実際には行名)を削除する方法は?
-
[解決済み] ディレクトリInodeと通常ファイルInodeの比較
-
[解決済み] Unix/Linuxで、ファイルのあるフォルダを別のフォルダにコピーするにはどうしたらいいですか?[クローズド]