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

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

6
echo -eの逆は何ですか?
echo印刷できない文字、\n改行、またはタブを含む文字列がある場合、この文字列を印刷してこれらの文字のコードを表示する方法はありますか(改行、\bバックスペースなど)。
13 shell  echo 

7
エコー前のタイムスタンプ
echo?の前にタイムスタンプを作成するより良い方法が存在します。 現在私はこのようにしています: #!/bin/sh if mount | grep -q /mnt/usb; then echo `date +%R\ ` "usb device already mounted" else echo `date +%R\ ` "mounting usb device..." mount -t msdosfs /dev/da0s1 /mnt/usb if mount | grep -q /mnt/usb; then echo `date +%R\ ` "usb device successfully mounted" fi fi 出力は次のようになります。 10:36 …
12 shell  timestamps  echo 



2
引用符付きと引用符なしの文字列展開
for i in $(xrandr); do echo "$i" ; done for i in "$(xrandr)"; do echo "$i"; done for i in "$(xrandr)"; do echo $i; done 1が2と異なる理由を理解していますが、3が2とは異なる出力を提供するのはなぜですか?出力についても説明してください。引用符は改行でどのように機能しますか?

3
バッシュで、エイリアスに余分な引数を含めない方法は?
私は次のようなことをしようとしています alias ftp='echo do not use ftp. Use sftp instead.' ftp誤って使用されることはありません。しかし、私はそれに気づきました ftp abcd.com コマンドをエコーさせます do not use ftp. Use sftp instead. abcd.com ためabcd.comの引数であると解釈されますecho。 Bashをabcd.com置換に追加しないようにする方法、またはechoそれを追加の引数として使用しないようにする方法はありますか?(各アプローチの解決策はありますか?) できると思った alias ftp='sftp' しかし、コマンドを一緒に停止させて、使用しないように気づかせたいだけですftp。
10 bash  alias  ftp  echo 

1
エコーコマンドによるキャリッジリターン
\r以下のようにオプション(復帰)付きのエコーコマンドを練習していました。 echo -e "This is \r my college" 出力: my college \r次のように前に単語をもう1つ追加すると echo -e "This is the \r my college" 次に、次のような出力が得られます。 my college the もう一つの例 echo -e "This is \r valid data" valid data echo -e "This is not a \r valid data" valid data a それで、ここで改行の実際の目的は何ですか?
9 shell  echo  newlines 

2
bashで単一引用符で囲まれた$ 'string'と二重引用符で囲まれた$“ string”の違いは何ですか?
私はecho次の2つのコマンドを使用して新しい行を実行しようとしました: 最初のコマンド: echo $'Hello World\nThis is a new line' 応答: Hello World This is a new line 2番目のコマンド: echo $"Hello World\nThis is a new line" 応答: Hello World\nThis is a new line 私の質問はで包まれた文字列の違い何さ$' 'で包まれた文字列の対$" "中bashさんはecho?
9 bash  quoting  echo 

1
サブシェルを引用し、結果をエコーに渡す最後に改行がないのはなぜですか?
ls | grep pnggrepの出力を行うと、次のようになります。 2015-05-15-200203_1920x1080_scrot.png 2015-05-16-025536_1920x1080_scrot.png (ファイル名、改行、ファイル名、改行) 次に、echo $(ls | grep png)出力: 2015-05-15-200203_1920x1080_scrot.png 2015-05-16-025536_1920x1080_scrot.png (ファイル名、単語分割からのスペース、ファイル名、改行!!エコーから!!) これで問題ありませんが、単語の分割を防ぐためにこれを行うecho "$(ls | grep png)"と、出力は次のようになります。 2015-05-15-200203_1920x1080_scrot.png 2015-05-16-025536_1920x1080_scrot.png そして私の質問は、2番目の改行はどこにあるのか(1つはgrepから、もう1つはechoから)ですか?

3
末尾の改行を削除せずにstdinを変数にキャプチャするにはどうすればよいですか?
シェルスクリプトで... 末尾の改行を削除せずにstdinを変数にキャプチャするにはどうすればよいですか? 今私は試しました: var=`cat` var=`tee` var=$(tee) すべての場合$varにおいて、入力ストリームの末尾の改行はありません。ありがとう。 また、入力に後続の改行がない場合、ソリューションは追加しません。 承認された回答に照らして更新: 私のコードで使用した最終的な解決策は次のとおりです。 function filter() { #do lots of sed operations #see https://github.com/gistya/expandr for full code } GIT_INPUT=`cat; echo x` FILTERED_OUTPUT=$(printf '%s' "$GIT_INPUT" | filter) FILTERED_OUTPUT=${FILTERED_OUTPUT%x} printf '%s' "$FILTERED_OUTPUT" 完全なコードを確認したい場合は、エキスパンダーのgithubページを参照してください。エキスパンダーは、情報セキュリティの目的で開発した小さなオープンソースのgitキーワード展開フィルターシェルスクリプトです。.gitattributesファイル(ブランチ固有にすることができます)およびgit configで設定されたルールに従って、git は、リポジトリにチェックインまたはチェックアウトするたびに、expandr.shシェルスクリプトを介して各ファイルをパイプ処理します。(そのため、末尾の改行またはその欠如を保持することが重要でした。)これにより、機密情報をクレンジングし、テスト、ステージング、およびライブブランチの環境固有の値の異なるセットを交換できます。

3
テールコマンドをエコーすると、予期しない出力が生成されますか?
このコマンドを単独で実行すると、期待される結果(crontabの最後の行)が生成されます。 tail -n 1 /etc/crontab ただし、echoコマンドの一部として実行して結果をファイルに送信すると、作業ディレクトリ内のすべてのファイルの概要と予想される結果が追加されます。 sudo bash -c 'echo $(tail -n 1 /etc/crontab) > /path/to/file' なぜこのコマンドは余分なデータを生成したのですか?
8 bash  sudo  cron  echo  tail 

1
`md5sum`がインターネットと同じハッシュを与えないのはなぜですか?
文字列 "a"のmd5ハッシュを見つけたいのですが、実行echo "a" | md5sumすると、インターネットを検索した場合(たとえば、DuckDuckGoまたは最初に見つけた検索結果を使用した場合)に得られるものとは別のハッシュが得られます。 実行echo "a" | md5sumすると「60b725f10c9c85c70d97880dfe8191b3」になりますが、「0cc175b9c0f1b6a831c399e269772661」である必要があります。 「60b725f10c9c85c70d97880dfe8191b3」の逆ハッシュルックアップを行うと、「a」が表示されます。
8 echo  hashsum 


2
Linuxでエコーの代わりにコマンドを印刷する
linux echoコマンドを使用して、ターミナルでメッセージを印刷できます。 prayag@prayag$ echo "prayag works on JVM" prayag works on JVM printコマンドで同じ出力を取得できますか? 私は実際に彼らのマニュアルを読みましたが、そこで$ man printはこれまで聞いたことのない用語がRun-mailcap-programsとして説明されています。そして、それはMIMEに基づいて、ファイルを開くための正しいプログラムを見つけるために使用されることがわかりました。 では、print代わりに単独で使用して簡単な行を印刷する方法はありますechoか? テキストファイルの内容をbashスクリプトの変数に割り当てる必要があるで同様の種類の問題が見つかりましたがecho、printそこから提案されました。 以下を試しましたが、問題が発生しました。 $ print --"text/plain" "prayag works on JVM" Warning: unknown mime-type for "prayag works on JVM" -- using "application/octet-stream" Error: no such file "prayag works on JVM" ファイルを提供し、ファイルを要求します。 $ print --"text/plain" application.properties …
7 shell  command  echo 
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.