86
86
ユーザ名でホームディレクトリを取得
echo
echo ~puchuu
>> /home/puchuu
で任意のユーザのホームディレクトリを取得したいのですが、変数
echo ~$USER
>> ~puchuu
echo `echo ~$USER`
>> ~puchuu
``` は使えません。
echo
echo ~puchuu
>> /home/puchuu
で任意のユーザのホームディレクトリを取得したいのですが、変数
echo ~$USER
>> ~puchuu
echo `echo ~$USER`
>> ~puchuu
``` は使えません。
これはあなたにも効くかもしれません。
homedir=$( getent passwd "$USER" | cut -d: -f6 )
これはあなた以外のユーザーにも有効です。例えば、
homedir=$( getent passwd "someotheruser" | cut -d: -f6 )
0x1&
あなたがそのユーザーのようですね – なぜ
echo $HOME
ではないのですか?
参考になるかわかりませんが、式の外側にチルダを置くと ZSH では動作しますが、Bash では動作しません:
echo ~`echo $USER`
ログインしたら、cd
を実行してホームディレクトリに移動し、pwd
を実行して作業ディレクトリを印刷します。