Bashのエコー改行はリテラルを出力します\ n

2590
Sergey 2011-12-12 11:01.

Bashで、これを試しました:

echo -e "hello\nworld"

ただし、改行は出力されず、のみが出力され\nます。改行を印刷するにはどうすればよいですか?

Ubuntu11.04を使用しています。

22 answers

3129
sth 2011-12-12 11:04.

printf代わりに使用できます:

printf "hello\nworld\n"

printfよりも一貫した動作をしechoます。の動作はechoバージョンによって大きく異なります。

1828
choroba 2011-12-12 11:04.

本当にバッシュになっていますか?私のために働く、4つの方法すべて:

echo -e "Hello\nworld"
echo -e 'Hello\nworld'
echo Hello$'\n'world
echo Hello ; echo world
612
Vanuan 2012-11-02 23:39.
echo $'hello\nworld'

プリント

hello
world

$''文字列はANSIC引用を使用します:

フォームの単語は特別に扱われます。単語は文字列に展開され、ANSIC標準で指定されているように円記号でエスケープされた文字が置き換えられます。$'string'

149
Nayeem Zen 2014-03-01 12:14.

あなたはいつでもすることができますecho ""

例えば

echo "Hello"
echo ""
echo "World"
78
Harsha Biyani 2017-12-06 01:06.

試してみてください

echo -e "hello\nworld"
hello
world

私のためにnanoエディターで働いた。

マニュアルページから:

-e バックスラッシュエスケープの解釈を有効にする

43
Uncle Iroh 2013-08-09 10:15.

誰かが壁に頭をぶつけて、同僚のスクリプトが改行を出力しない理由を理解しようとしていることに気付くという偶然の機会に、これに注意してください->

#!/bin/bash
function GET_RECORDS()
{
   echo -e "starting\n the process";
}

echo $(GET_RECORDS);

上記のように、メソッドの実際の実行自体が、メソッド自体にある可能性のあるエコーに優先するエコーにラップされる場合があります。明らかに私は簡潔にするためにこれを水で濡らしました、それを見つけるのはそれほど簡単ではありませんでした!

次に、関数を実行するためのより良い方法は次のようになることを仲間に通知できます。

#!/bin/bash
function GET_RECORDS()
{
   echo -e "starting\n the process";
}

GET_RECORDS;

エコーに関するPOSIX7

http://pubs.opengroup.org/onlinepubs/9699919799/utilities/echo.html

-e は定義されておらず、円記号は実装で定義されています。

最初のオペランドが-nの場合、またはいずれかのオペランドに<backslash>文字が含まれている場合、結果は実装によって定義されます。

オプションのXSI拡張機能がない限り。

したがってprintf、代わりに使用することをお勧めします。これは明確に指定されています。

formatオペランドは、XBDファイルフォーマット表記[...]で説明されているフォーマット文字列として使用されます。

ファイル形式の表記:

\ n <改行>印刷位置を次の行の先頭に移動します。

また、Ubuntu15.10とほとんどのディストリビューションはecho両方を次のように実装していることにも注意してください。

  • Bashビルトイン: help echo
  • スタンドアロンの実行可能ファイル: which echo

混乱を招く可能性があります。

25
R Sun 2019-06-02 06:13.

入力するだけです

echo

新しい行を取得するには

24
Sathesh 2014-04-20 09:05.

これはラズビアンで私のために働きます、

echo -e "hello\\nworld"
16
alinsoar 2012-11-24 01:10.
str='hello\nworld'
$ echo | sed "i$str"
hello
world
8
vanishedzhou 2018-08-17 17:56.

それはCentOSで私のために働きます:

echo -e ""hello\nworld""
8
vinzee 2018-08-31 21:40.

次のこともできます。

echo "hello
world"

これは、スクリプト内とコマンドラインの両方で機能します。
コマンドラインでShift+Enterを押して、文字列内の改行を実行します。

これは私のmacOSと私のUbuntu18.04で私のために働きます

4
DNT 2014-02-01 04:20.

これらのソリューションのいずれでも機能せず、関数から戻り値を取得する必要がある人のために、ここにもう1つのエントリがあります。

function foo()
{
    local v="Dimi";
    local s="";
    .....
    s+="Some message here $v $1\n"
    .....
    echo $s } r=$(foo "my message");
echo -e $r;

このトリックだけが、私がこのbashで作業していたLinuxで機能しました。

GNU bash, version 2.2.25(1)-release (x86_64-redhat-linux-gnu)

それが同様の問題を抱えている人に役立つことを願っています。

4
TanisDLJ 2014-05-14 22:58.

私のスクリプト:

echo "WARNINGS: $warningsFound WARNINGS FOUND:\n$warningStrings

出力:

WARNING : 2 WARNINGS FOUND:\nWarning, found the following local orphaned signature file:

私のbashスクリプトでは、試してみるまであなたのように怒っていました。

echo "WARNING : $warningsFound WARNINGS FOUND: $warningStrings"

そのジャンプを挿入したい場所にEnterキーを押すだけです。現在の出力は次のとおりです。

WARNING : 2 WARNINGS FOUND:
Warning, found the following local orphaned signature file:
4
Dhwanit 2017-05-30 21:00.

これは次のように行う方がよいでしょう

x="\n"
echo -ne $x

-eオプションは、エスケープシーケンスのバックスラッシュを解釈します。
-nオプションは、出力の末尾の改行を削除します。

PS:コマンドechoには、出力に常に末尾の改行を含める効果があるため、それをオフにするには-nが必要です(混乱を少なくします)。

4
Xenon 2020-03-14 07:50.

引数なしでエコーを使用します

echo "Hello"
echo
echo "World"
3
Avinash Raj 2014-05-05 23:32.

中かっこでエコーを使用することもできます。

$ (echo hello; echo world)
hello
world
3
PesaThe 2018-07-24 09:54.

エスケープシーケンスを解釈する新しい パラメータ拡張が追加されましたbash 4.4

${[email protected]} - E operator

展開は、$'…'引用メカニズムと同様にバックスラッシュエスケープシーケンスが展開されたパラメーターの値である文字列です。

$ foo='hello\nworld' $ echo "${[email protected]}"
hello
world
3
skiggety 2019-07-02 10:06.

スクリプトを作成していて、他のメッセージの一部として改行を数回エコーする場合、クロスプラットフォームの優れたソリューションは、次のような変数に文字通りの改行を配置することです。

newline='
'

echo "first line$newlinesecond line" echo "Error: example error message n${newline}${usage}" >&2 #requires usage to be defined
0
Hunter Frazier 2018-05-26 21:14.

スペースで区切られた複数の文字列を渡すことができ、それは\n。として解釈される場合があります。

たとえば、複数行の通知にシェルスクリプトを使用する場合:

#!/bin/bash
notify-send 'notification success' 'another line' 'time now '`date +"%s"`
0
John Jai 2019-07-20 09:04.

bashプロファイル(MacOx、iTerm)でエイリアスとして使用している間、テキストを二重引用符で囲む必要がありました。

alias helloworld="echo -e \"hello \n world\""
0
Joe Healy 2020-05-12 04:52.

これで私はそこに着きました。

outstuff=RESOURCE_GROUP=[$RESOURCE_GROUP]\\nAKS_CLUSTER_NAME=[$AKS_CLUSTER_NAME]\\nREGION_NAME=[$REGION_NAME]\\nVERSION=[$VERSION]\\nSUBNET-ID=[$SUBNET_ID] printf $outstuff

収量:

RESOURCE_GROUP=[akswork-rg]
AKS_CLUSTER_NAME=[aksworkshop-804]
REGION_NAME=[eastus]
VERSION=[1.16.7]
SUBNET-ID=[/subscriptions/{subidhere}/resourceGroups/makeakswork-rg/providers/Microsoft.Network/virtualNetworks/aks-vnet/subnets/aks-subnet]

Related questions

MORE COOL STUFF

ケイト・ブランシェットは3日間一緒に夫と一緒に寝て、25年経ってもまだ夫と結婚しています

ケイト・ブランシェットは3日間一緒に夫と一緒に寝て、25年経ってもまだ夫と結婚しています

ケイト・ブランシェットは、夫に会ったとき、典型的な交際のアドバイスに逆らいました。

マイケルシーンが非営利の俳優である理由

マイケルシーンが非営利の俳優である理由

マイケルシーンは非営利の俳優ですが、それは正確にはどういう意味ですか?

ホールマークスターのコリンエッグレスフィールドがRomaDramaLiveでスリル満点のファンと出会う![エクスクルーシブ]

ホールマークスターのコリンエッグレスフィールドがRomaDramaLiveでスリル満点のファンと出会う![エクスクルーシブ]

特徴的なスターのコリン・エッグレスフィールドは、RomaDrama Liveでのスリル満点のファンとの出会いについて料理しました!加えて、大会での彼のINSPIREプログラム。

「たどりつけば」をオンラインでストリーミングできない理由

「たどりつけば」をオンラインでストリーミングできない理由

ノーザンエクスポージャーが90年代の最も人気のある番組の1つになった理由を確認するには、Blu-rayまたはDVDプレーヤーをほこりで払う必要があります。

バイオニック読書はあなたをより速く読むことができますか?

バイオニック読書はあなたをより速く読むことができますか?

BionicReadingアプリの人気が爆発的に高まっています。しかし、それは本当にあなたを速読術にすることができますか?

ドミニカのボイリング湖:アクセスは簡単ではありませんが、ハイキングする価値があります

ドミニカのボイリング湖:アクセスは簡単ではありませんが、ハイキングする価値があります

ドミニカのボイリング湖は、世界で2番目に大きいボイリング湖です。そこにたどり着くまでのトレッキングは大変で長いですが、努力する価値は十分にあります。

私たちの水をきれいに保つのを助けるためにあなたの髪を寄付してください

私たちの水をきれいに保つのを助けるためにあなたの髪を寄付してください

サロンからのヘアトリミングや個人的な寄付は、油流出を吸収して環境を保護するのに役立つマットとして再利用できます。

ホワイトハウスの最も記憶に残る結婚式を見てください

ホワイトハウスの最も記憶に残る結婚式を見てください

過去200年以上の間にホワイトハウスで結婚したのはほんの数人です。彼らは誰でしたか、そしてそこで結婚式を獲得するために何が必要ですか?

ねえNFL、ジョーバロウとカイラーマレーは女性の権利をサポートするために少しの助けを使うことができます

ねえNFL、ジョーバロウとカイラーマレーは女性の権利をサポートするために少しの助けを使うことができます

ジョー・バロウロー対ウェイド事件の転覆に対応するNFLは、言葉を言わないことで、腹立たしいが予測可能なPRの結果でした。

別の日、別のヒンジのないLIV記者会見

別の日、別のヒンジのないLIV記者会見

(lから)パット・ペレス、ブルックス・ケプカ、パトリック・リードサウジアラビアのLIVゴルフリーグのさらに別の信じられないほどの記者会見で、スポーツのファンはブルックス・ケプカからでたらめな吐き気と質問回避の驚異的なマスタークラスを受けました。パトリックリード、ブライソンデシャンボー、パットペレス、最近のPGAツアーの脱北者。

ミズ・マーベルの家族の帰郷は悪役よりも激しく打撃を与える

ミズ・マーベルの家族の帰郷は悪役よりも激しく打撃を与える

レッドダガーとマーベルさんがチームを組んでいます。

6億7500万ドルのビットコインローンのデフォルト後にすべての資産を清算するように命じられたスリーアローズキャピタル

6億7500万ドルのビットコインローンのデフォルト後にすべての資産を清算するように命じられたスリーアローズキャピタル

暗号業界最大の沈没船の1つであるスリーアローズキャピタルは、ついにその悲惨さから解放されています。火曜日に、不良債権ヘッジファンドは、債権者からの返済を要求する訴訟の高まりに応えて、バージンアイランド裁判所によって清算を命じられました彼らが3ACに行ったローン。

Zendaya Wishes Boyfriend Tom Holland Happy Birthday with Cuddly Photo: He 'Makes Me the Happiest'

Zendaya Wishes Boyfriend Tom Holland Happy Birthday with Cuddly Photo: He 'Makes Me the Happiest'

Zendaya shared a sweet photo in honor of boyfriend Tom Holland's 26th birthday Wednesday

小さな女性:脳卒中を患った後に病院から解放されたアトランタのジューシーな赤ちゃん:「まだ癒し」

小さな女性:脳卒中を患った後に病院から解放されたアトランタのジューシーな赤ちゃん:「まだ癒し」

シーレン「Ms.JuicyBaby」ピアソンは、先月脳卒中で入院した後、「もう一度たくさんのことをする方法を学ばなければならない」ため、言語療法を受けていることを明らかにしました。

エマストーンは彼女のクリフサイドマリブビーチハウスを420万ドルでリストアップしています—中を見てください!

エマストーンは彼女のクリフサイドマリブビーチハウスを420万ドルでリストアップしています—中を見てください!

オスカー受賞者の世紀半ばの家には、3つのベッドルーム、2つのバス、オーシャンフロントの景色があります。

ジーニー・メイ・ジェンキンスは、母乳育児の経験の中で、彼女は「本当に、本当に落ち込んでいる」と言います

ジーニー・メイ・ジェンキンスは、母乳育児の経験の中で、彼女は「本当に、本当に落ち込んでいる」と言います

ジーニー・メイ・ジェンキンスは、生後4か月の娘、モナコに母乳育児をしていると語った。

Suffragettes Indicam #3: Junho

Suffragettes Indicam #3: Junho

Mais um mês se findando — e metade do ano de 2022 já passou. Sabe o que isso significa? Não, não é hora de verificar se você está cumprindo com suas resoluções de Ano Novo.

多元宇宙—Junø

多元宇宙—Junø

チェーン間アカウントがJunoに登場します。異なるブロックチェーン間でスマートコントラクトの構成可能性と真の相互運用性を提供します。

#brand【ベター・コール・ソール!アメリカのテレビシリーズ「ブレイキング・バッド」に最高のビジネス例が隠されている】・・・ルールクリエイティブ

#brand【ベター・コール・ソール!アメリカのテレビシリーズ「ブレイキング・バッド」に最高のビジネス例が隠されている】・・・ルールクリエイティブ

1.ドラマを見た後、起業する考えはありますか?あなたのビジネスはボトルネックに遭遇しましたか?方向性がなくてわからない場合は、ドラマを追いかけて行くことを心からお勧めします。(?)ブラフではなく、最も完璧なビジネス例を隠すドラマがあります。2.ブレイキング・バッドとその弁護士ドラマ「ブレイキング・バッド」を見た友人たちは、演劇の中で、穏やかな表情で、弁護士のソウル・グッドマンに深く感銘を受けなければなりません。口を開けて、感覚の弱い傭兵の性格を持っています。道徳の面で、サル・グッドマンは無意識のうちに劇に欠かせない役割を果たし、彼自身のシリーズ「絶望的な弁護士」(ベター・コール・ソール)を生み出しました。ウェントウのテキストとビデオは、劇中のソウル・グッドマンのテレビコマーシャルです。製品(サービス)、競争戦略、市場ポジショニング、ブランド名、ターゲット顧客グループ、コミュニケーション軸から広告まで、サル・グッドマンの役割のビジネス設定は、「最低」と見なすことができる超超超超超超完全です。ブランドコミュニケーションのコスト」「変化」のモデル。なぜ?私の分析をご覧ください。3.ソウル・グッドマンの「事業戦略」1.基本情報ブランド名:Saul Goodman製品:法律相談サービス対象顧客:麻薬中毒、飲酒運転、事故など。法律知識の欠如は、一般的に公立弁護士にしか余裕がなく、真面目な弁護士も「特別な法律を持つ消費者」を避けます。恐れてはいけない「​​ニーズ」。コミュニケーションの主軸:この国のすべての男性、女性、子供は有罪判決を受けるまで無実だと思います。地域:アルバカーキ市スローガン:Thrallに電話したほうがいいです!(ベター・コール・ソール)広告:2つの可能性のある犯罪状況をシミュレートします+サウルの主張+サウルのスローガン2をより適切に呼び出します。

メインネットガイド— Arbitrum Odyssey Week 2

メインネットガイド— Arbitrum Odyssey Week 2

最新のアップデートを受け取るために私たちに従ってください。ニュースレター:https://www。

Language