• ベストアンサー

echoで「-n」を出力する方法

echoで「-n」を出力するようにしたいのですが、 echo -nとすると「-n」がオプションと解釈されて何も表示されませんし、 echo -- -nとすると「-- -n」と表示されてしまいます。 echoで「-n」を表示させたい場合はどのように指定すれば良いのでしょうか? (前後にスペースが入ってしまう、他のコマンドを使うなどはNG) よろしくお願いいたします。

  • entree
  • お礼率66% (111/166)

質問者が選んだベストアンサー

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

ネタ的な回答 echo -n -;echo n

entree
質問者

お礼

ご回答ありがとうございました。 以下を満足する必要があったため期待したものとは違っていましたが 最も無難な回答だったためベストアンサーとしました。 - 引数に「-」や「\」が入っているかもしれないシェル変数が来ても オプションやエスケープ文字として解釈されてしまわないこと - Solarisなどに移植しても改修することなく動作すること。

その他の回答 (3)

  • notnot
  • ベストアンサー率47% (4848/10261)
回答No.4

echo -e \\x2Dn 2D は、マイナス記号の文字コード16進表記です。意外と面倒ですね。 -eオプションを使っているので他のエスケープシーケンスも有効になりますから、-n 以外に \ を含んだ文字列を出力するなら注意が必要。

entree
質問者

お礼

ご回答ありがとうございました。

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.3

確認ですが, 「-n」のあとには改行が必要ですか? それとも, 改行なしですか?

entree
質問者

お礼

ご回答ありがとうございました。

  • chie65535
  • ベストアンサー率43% (8520/19369)
回答No.1

-の前にエスケープ文字を入れても駄目なのかな?

entree
質問者

お礼

ご回答ありがとうございました。

関連するQ&A

  • echoでの文字の繰り返しについて

    echoコマンドで、以下のように表示させたいのですが、 現在はまるっきりそのままコマンドにしてるので、 見栄えが悪いのです。 ハイフンを4回繰り返してスペース入れて Server Health の後にスペース入れて ハイフンを20回くらい繰り返す。 見たいな指定に出来ればスマートになるとおもうのですが。。 echo ---- Server Health ----------------------------------------------------------------------- 何か方法はありますでしょうか

  • echoの出力は標準エラー出力ですか?

    例えばsamp.cshのようなc-shellスクリプトを作成、 samp.csh | less のようにすると、echoの行が表示されないのに対して samp.csh |& less とすると表示されました。 echoは例によって色々なバージョンがありそうですが、man を見る限りechoの出力に関して特別な記述が有りません。 echo is a shell built-in /usr/local/bin/echo /bin/echo /usr/bin/echo /usr/ucb/echo echoコマンドはデフォルトで標準エラー出力なのでしょうか?これを標準出力にするオプションは無いのでしょうか?もしくはどのエコーを使うと解決するのでしょうか? --[samp.csh] #! /bin/csh -f foreach a ($aa) echo "$a" diff $work/$a $TRY1_CENTER/syn/ end システム Release: 5.7 Kernel architecture: sun4u Application architecture: sparc Kernel version: SunOS 5.7 Generic 106541-17 June 2001

  • echoの出力の最後のスペースを除去したい

    テキストファイルにechoで出力するバッチファイルを作成しています。 echo出力の最後にスペースが1つだけ余分に追加されてしまいます。 これを除去するにはどうしたらよいでしょうか。 例えば、以下の内容が記載されたバッチファイルを実行すると、 出力の最後に不要な半角スペースが追加されます。    set COMMAND=ping 192.168.0.1 -n 1    echo %COMMAND% >> out.txt

  • 2^0, 2^(-1), 2^(-2), ..., 2^(-n)

    指令行の引数に正の整数 n を指定すると, 2^0, 2^(-1), 2^(-2), ..., 2^(-n) を順に各行に出力していくプログラムで、 n が大きな値になっても,小数点以下100桁までほ正確に結果を出力するようにしたいのですが、どうしたらよいでしょか?

    • ベストアンサー
    • Java
  • バッチファイル 作成 echo でスペースを出力するには?

    echo "文字列" を入力するとその文字列が画面上に出力されますが、スペースを出力するのはどのように記述すればよいのでしょうか? ~~~~~~~~~~~~~~~~~~~~~~~~~~~ @echo off echo ■■■■■■■■■■■■■■■■■■ echo echo 終了します。♪♪ 何かキーを押してね echo echo ■■■■■■■■■■■■■■■■■■ と書くと・・・↓ ■■■■■■■■■■■■■■■■■■ ECHO は <OFF> です。 終了します。♪♪ 何かキーを押してね ECHO は <OFF> です。 ■■■■■■■■■■■■■■■■■■ のように表示されます。 2行目 3行目はスペースにしたいのですが、どのようにすればよいのでしょうか?

  • echoについて

    echoの使い方について教えてください。 echo ($author!='' ? "$author. " : '') PHPのリファレンスにあるechoの内容を見ましたが、上のような使い方については見当たりませんでした。 この記述は、どのように解釈したらいいんでしょうか? またこの記述方法で実行した場合、出力結果は同じになりますか? これと似た構文でC言語にもありますか? よろしくお願いします。

    • ベストアンサー
    • PHP
  • Cシェルで標準エラー出力への出力方法を教えてください。

    Cシェルにおいて、通常echo文は標準エラー出力へ表示されます。 echo文のように引数で指定した文字列を標準エラーとして出力するような コマンド?があったら教えてください。 c言語では fprintf(stderr,"test!\n"); などとやりますが、Cシェルではありますでしょうか?

  • cmd 検索対象の行と、そのn段下(もしくは上)までの行を合わせて出力したい

    win 2000 xp vista を使用します。 コマンドプロンプトで下記の処理を行いたいのですが、どのようにコマンドを打てばよいのでしょうか? ファイル .\test の内容は以下のとおりです。 test1 30 50 12 test2 60 12 01 test3 *** 20 *** ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ (1)例えば "test2"という文字列を含む行と、合わせて下3行を拾って表示させたい時は、どのようにコマンドを打てばよいのですか? test2 60 12 01 のように表示させたい。 (2)あらかじめ、とりだしたい情報がn行目にあるとわかっている時に、 取り出したい行を複数指定して表示させるにはどのようにコマンドを打てばよいですか? (3)とりだした行の中に =***となる部分があれば echo TEST NG!! を実行したい。 なければ echo TEST OK を表示したい。

  • テキストファイルのn行目以下を出力する方法

    catコマンドか他のコマンドを使って、テキストファイルのn行目以下を出力する方法はありますか?

  • echoとaliasの併用について

    よろしくお願いします。 windows7(64bit)上でのcygwinと、ubuntu12.04(i386)でtcshを使用しています。 tcshのaliasで、 リダイレクト(>)やパイプ(|)で始まる設定をした後、 echoやcatコマンド等を絡めて使いたいと思ったのですが、 例えば alias clip '> /dev/clipboard' のようにして コマンドライン上で echo "test" clip のようにしても、 test clip のように表示され、(あたり前のことですが) aliasで設定したclipの内容が展開されません。 ============================================================== 上記の例で言えば、echoで出力する文字列を /dev/clipboardに渡すということをしたいのですが、 aliasの設定内容をechoで出力させずに展開させる方法はあるのでしょうか? もしくは、"> /dev/clipboard"という入力を省略できるような 別の方法があれば教えていただきたいです。 ============================================================== もしくかしてかなり初歩的な質問なのかもしれまんが、 何卒よろしくお願いいたします。