私はターミナルに慣れていないので、使い方を学ぼうとしています。
これらの行は何をしますか?そして、彼らはどのように機能しますか?
echo -n "Today's date is: "
date +"%A, %B %-d, %Y"
$ 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
明確であることを願っています。そうでない場合はお気軽にお問い合わせください。
echo -n "Today's date is: "
印刷されます:今日の日付は:
date +"%A, %B %-d, %Y"
次のように出力されます:2017年2月7日火曜日
アドバイス:
man
または--help
コマンドを使用して、他のコマンドの詳細を確認します。
eg:
man echo
echo --help
これらのチャレンジを試してみてください チャレンジは、ターミナルで物事を行うことを学ぶのに役立ちます。