私はそれが使用されている2つのインスタンスがあり、それぞれが何をしているのだろうと思っています:
service=~
mv ~/Desktop/Service$version.tgz $service
小さな波線~
は何をしますか?
次に、その後、何をcd $service
しますか?
私はそれが使用されている2つのインスタンスがあり、それぞれが何をしているのだろうと思っています:
service=~
mv ~/Desktop/Service$version.tgz $service
小さな波線~
は何をしますか?
次に、その後、何をcd $service
しますか?
回答:
波打つものは「チルダ」と呼ばれます。
ホームディレクトリに展開されます。
試してみる
echo ~
echo $HOME
両方のステートメントは、ホームディレクトリを単独で1行に配置します。
詳細については、bash Tilde Expansionを参照してください。
「波状」はチルダと呼ばれます。Linuxでは通常 、ホームディレクトリを参照するために使用されます/home/username
。また、$HOME
環境変数に保存されます。を~
ホームディレクトリの場所に展開するのは、ファイルシステムやOS自体ではなく、シェル(zshやbashなど)またはファイルマネージャー(Nautilusなど)の仕事です。
これを使用して、別のユーザーのホームディレクトリを参照することもできます。たとえば、他のユーザーのユーザー名がの場合、でbob
ホームディレクトリを参照できます。~bob
これはに展開され/home/bob/
ます。
最初の例では、変数service
を~
に設定しているため、ホームディレクトリに対応しています。これは同等ですservice=/home/username
かservice=$HOME
。
2番目の例では、ファイル~/Desktop/Service$version.tgz
(または/home/username/Desktop/Service$version.tgz
)をにコピーします/home/username
。このコマンドは次と同等です:
mv ~/Desktop/Service$version.tgz ~
または
mv ~/Desktop/Service$version.tgz $HOME
または
mv ~/Desktop/Service$version.tgz /home/username/
3番目は、現在の作業ディレクトリ($PWD
)をに変更し/home/username/
ます。これは次と同等です:
cd /home/username/
または
cd $HOME