回答:
$ type echo
echo is a shell builtin
つまり、echo
コマンドはbash
プログラム自体の一部です(bashを使用すると仮定)
-n
オプションなので、それが何をするのか見てみましょう
$ help echo
Write arguments to the standard output
...
-n do not append a newline
したがって、次の行を実行すると:
zanna@monster:~$ echo -n "Today's date is: "
Today's date is: zanna@monster:~$
うーん、見栄えはよくありません。印刷されたテキストの後に改行がないためです。これに戻ります。
$ type date
date is /bin/date
ああ、date
コマンドは別のプログラムです。それは何をするためのものか?
$ man date
Display the current time in the given FORMAT, or set the system date.
date
コマンドの後の文字はフォーマットオプションです(前にが必要です+
)-日付のさまざまな部分が指定されています(たとえば%A
、曜日のフルネームです- man date
オプションの完全なリストについては残りを参照してください)
$ date +"%A, %B %-d, %Y"
Tuesday, February 7, 2017
したがって、コマンドをスクリプトにまとめてからスクリプトを実行すると、次のようになります
Today's date is: Tuesday, February 7, 2017
いいね!端末で同じ効果が必要な場合は、改行の代わりにセミコロンを使用して2つのコマンドを区切ることができます。
$ echo -n "Today's date is: " ; date +"%A, %B %-d, %Y"
Today's date is: Tuesday, February 7, 2017
マニュアルページ、コマンドから始めてくださいman
。を入力man <command>
して、についての情報を取得します<command>
。ナビゲートman
はあまり直感的ではありませんが、https://wiki.gentoo.org/wiki/Man_page/Navigate#Navigating_and_searching_man_pagesなどの多くのガイドがあります。
man echo
およびの関連部分man date
:
echo [SHORT-OPTION]... [STRING]...
Echo the STRING(s) to standard output.
-n do not output the trailing newline
そのため、文字列を出力し、その後は新しい行に移動しません(これはデフォルトの動作です)。そのため、次のコマンドの出力はエコーされた文字列の右側に出力されます。
date [OPTION]... [+FORMAT]
FORMAT controls the output. Interpreted sequences are:
%A locale's full weekday name (e.g., Sunday)
%B locale's full month name (e.g., January)
%d day of month (e.g., 01)
%Y year
By default, date pads numeric fields with zeroes. The following optional flags may follow '%':
- (hyphen) do not pad the field
私はそれが明確であることを願っています。そうでない場合はお気軽にお問い合わせください。
date
は、ターミナル(コマンドラインインターフェイス)に日付を表示します。さらに何か(Zannaの提案など)が必要な場合は、新しい質問をしてください。
echo -n "Today's date is: "
印刷されます:今日の日付は:
date +"%A, %B %-d, %Y"
次のように出力されます:2017年2月7日火曜日
アドバイス:
man
または--help
コマンドを使用して、他のコマンドの詳細を確認します。
例:
man echo
echo --help
これらのチャレンジを試してみてくださいチャレンジは、ターミナルで物事を行うことを学ぶのに役立ちます。
$ man date && man echo
シェルで。