私はそれが使用されている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