タグ付けされた質問 「echo」

組み込みシェルまたは `/ bin / echo`に関する質問。質問が単に端末への出力に関するものである場合は、このタグを使用しないでください。質問が `echo`コマンドに固有の場合にのみ適用してください。

4
なぜprintfはechoよりも優れているのですか?
私はそれprintfがより良いと聞いたことがありますecho。RHEL 5.8の一部のプログラムにテキストを入力するprintfために動作echoしなかったため、使用しなければならなかった私の経験から1つのインスタンスのみを思い出すことができますprintf。しかし、明らかに、他にも違いがあるので、それらの違いや、一方を使用する場合と特定の場合を使用する場合について質問したいと思います。


3
「エコー」が「タッチ」よりもずっと速いのはなぜですか?
ディレクトリ内のすべてのxmlファイルのタイムスタンプを現在の時刻に(再帰的に)更新しようとしています。Mac OSX 10.8.5を使用しています。 約300,000個のファイルでは、次のechoコマンドには10秒かかります。 for file in `find . -name "*.xml"`; do echo >> $file; done ただし、次のtouchコマンドには10分かかります!: for file in `find . -name "*.xml"`; do touch $file; done エコーがここに触れるよりもずっと速いのはなぜですか?
116 shell  command  echo 

8
エコーのある行を削除する方法は?
私は最後の3つの文字を削除できることを知っています: echo -ne '\b\b\b' しかし、どのようにして行全体を削除できますか?私は使用したくないという意味です: echo -ne '\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b' ... etc ...長い行を削除します。

6
強打をエコーする方法!
echoエディターで開くのではなく、コンテンツをファイルに入れてスクリプトを作成しようとしました echo -e "#!/bin/bash \n /usr/bin/command args" > .scripts/command 出力: bash:!/ bin / bash:イベントが見つかりません 私はこの奇妙な行動を強打に隔離しました。 $ echo ! ! $ echo "!" bash: !: event not found $ echo \#! #! $ echo \#!/bin/bash bash: !/bin/bash: event not found なぜbangはこれを引き起こしていますか? bashが参照するこれらの「イベント」とは何ですか? この問題を乗り越えて画面またはファイルに「#!/ bin / bash」を印刷するにはどうすればよいですか?

3
コマンドの単一引数の最大サイズを定義するものは何ですか?
ここでは、引数配列全体の合計サイズと環境のサイズ(これはに制限されていARG_MAXます)ほど、1つの引数の最大長は問題ではないという印象を受けました。したがって、次のようなことが成功すると思いました。 env_size=$(cat /proc/$$/environ | wc -c) (( arg_size = $(getconf ARG_MAX) - $env_size - 100 )) /bin/echo $(tr -dc [:alnum:] </dev/urandom | head -c $arg_size) >/dev/null - 100シェルでの環境の大きさとの間の差を考慮するために十分すぎるほどであることがよりechoプロセス。代わりに、エラーが発生しました: bash: /bin/echo: Argument list too long しばらく遊んだ後、最大値は完全な16進数の桁より小さいことがわかりました。 /bin/echo \ $(tr -dc [:alnum:] </dev/urandom | head -c $(($(getconf ARG_MAX)/16-1))) \ >/dev/null マイナス1が削除されると、エラーが返されます。一見、単一の引数の最大値は実際にARG_MAX/16あり-1、引数配列の文字列の最後に置かれたヌルバイトを考慮しています。 別の問題は、引数が繰り返されると、引数配列の合計サイズがに近くなる可能性があるARG_MAXが、それでもまだそこにはないということです。 ...
48 kernel  echo  arguments 

4
バイトをファイルにエコーする
i2cバスを使用して、rasberry Piをディスプレイに接続しようとしています。はじめに、特にバイトをファイルに手動で書き込みたいと思いました。 特定のバイトをファイルにどのように書き込みますか? 私はすでにそれを読んでいて、私の問題はこのようなもので解決されるべきだと考えました echo -n -e \x66\x6f\x6f > byteFileForNow ただし、fooではなくnanoでそのファイルを開くと、次のように表示されます。 x66x6fx6f そのため、バックスラッシュはエスケープされましたが、バイト自体はエスケープされませんでした。また、今回は-eなしでのみ同じことを試みたので、\ x66 \ x6f \ x6fを表示することを期待していましたが、以前と同じになりました。 そのため、エコーはバックスラッシュ、バックスラッシュのみ、バックスラッシュをエスケープすることになっています。 これを修正する方法はありますか? 私が探していることを行うべきだったマニュアルページによると。


5
ファイルの内容をコマンド「echo」にリダイレクトする
my_file.txt内容が単なる文字列であるという名前のファイルがありますHello。そのコンテンツをコマンドにリダイレクトするにはどうすればよいechoですか? 私は、コマンドを持って知っているless、cat、more...しかし、私はそれを行う必要がありますecho。 私はこれを試しました: $ cat my_file.txt | echo またこれ: $ echo < my_file.txt ただし、どちらの場合も、my_file.txtのコンテンツではなく、stdoutに空白のみが表示されます。 どうすればそれができますか?

6
「cat」は組み込みのシェルですか、外部プログラムですか?
typeコマンドを使用してcat、シェルが組み込みか外部プログラムかを調べると、以下の出力が得られます。 -$ type cat cat is hashed (/bin/cat) -$ catこれは外部プログラムであることを意味し/bin/catますか? 私が混乱したのは、以下の出力を確認したときにecho、それがbuilt-inプログラムであることがわかったからです/bin/echo -$ type echo echo is a shell builtin -$ which echo /bin/echo -$ したがって/bin/cat、エコーは/bin/echo組み込みであるため、必ずしも外部プログラムを意味するロジックを使用できませんでした。 だから私はどのように私が知ってcatいますか?組み込みまたは外部?
33 bash  cat  echo  shell-builtin 

5
echoコマンドとリダイレクト演算子を使用して、改行特殊文字をファイルに挿入する方法は?
echoコマンドとリダイレクト演算子を使用してファイルを作成したいのですが、ファイルは数行で作成する必要があります。 文字列内に「\ n」による改行を含めようとしました: echo "first line\nsecond line\nthirdline\n" > foo しかし、この方法では、3行のファイルは作成されず、1行と文字列の逐語的な内容のみのファイルが作成されます。 このコマンドのみを使用して複数行のファイルを作成するにはどうすればよいですか?

1
catまたはechoを使用して同じテキストを多くのファイルに追加しますか?
catまたはecho1つのコマンドのみを使用して、同じコンテンツを多くのテキストファイルに書き込むにはどうすればよいですか? たとえば、「hello」をfile1とfile2に書き込みたいです。私は試した: echo "hello" >> file1 file2 しかし、うまくいきませんでした。どうすればいいですか?

1
>ファイルがechoよりもリアルタイムを使用する理由| sed> file?
以下の例は私を驚かせました。それは、直感に反するようです... コンボのためのより多くのユーザー時間があるという事実は別としてecho | sed。 単独で実行する場合echo、なぜそんなに多くのsys時間を使用するのでしょうか、または質問sedは「プレイの状態をどのように変更するのですか?」と思われるechoでしょうが、同じ行う必要があるエコー-INGのを両方のケースで... time echo -n a\ {1..1000000}\ c$'\n' >file # real 0m9.481s # user 0m5.304s # sys 0m4.172s time echo -n a\ {1..1000000}\ c$'\n' |sed s/^\ // >file # real 0m5.955s # user 0m5.488s # sys 0m1.580s
28 bash  shell  pipe  time  echo 

4
エコーを使用した色付きテキストの印刷
エコー、たとえば赤色を使用して色付きのテキストを印刷する場合、コードは次のecho -e "\e[1;31m This is red text \e[0m" とおりです。この例では、31が赤色のコードであり、他の色の数が次のとおりであることを知っています。 Black 0;30 Dark Gray 1;30 Blue 0;34 Light Blue 1;34 Green 0;32 Light Green 1;32 Cyan 0;36 Light Cyan 1;36 Red 0;31 Light Red 1;31 Purple 0;35 Light Purple 1;35 Brown 0;33 Yellow 1;33 Light Gray 0;37 White 1;37 背景色の場合、numは40〜47です。 何をん:私の質問はこれです\eと[し、m(31の後に)正確にここに意味ですか?\ ...

5
エコーが引用文字を無視するのはなぜですか?
この質問は、UnixおよびLinux Stack Exchangeで回答できるため、Server Faultから移行されました。 8年前に移行され ました。 echoコマンドは、私はそれを与えることを完全なテキストを含めていません。たとえば、次の場合: $ echo ' echo PARAM=` grep $ARG /var/tmp/setfile | awk '{print $2}' ` ' 以下を出力します: echo PARAM=` grep $ARG /var/tmp/setfile | awk {print } ` 'echoコマンドに含まれていた単一引用符()は含まれていません。二重引用符に切り替えた場合: $ echo " echo PARAM=` grep $ARG /var/tmp/setfile | awk '{print $2}' ` " echo何も出力しません!最初の例で単一引用符を省略し、2番目の例では何も出力しないのはなぜですか?入力したとおりに出力するにはどうすればよいですか?
24 shell  quoting  echo 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.