$(logname)のポイントは何ですか?

$(logname)のポイントは何ですか?
sudo sh -c 'echo "$(logname) ALL=(ALL:ALL) NOPASSWD: ALL" > /etc/sudoers.d/$(logname)' & sudo chmod 440 /etc/sudoers.d/$(logname)

上記のコード行を使用して、現在のユーザーがリモートで接続されているホストでパスワードなしでsudoを実行できるようにしました。

しかし、正確には何ですか$(logname)

ローカルコンピュータではecho $(logname)何も返されないので、echo $LOGNAME環境変数ではありませんが、リモートコンピュータでは値が異なることを見たことはありません。

また、他の同様の$(foo)変数(またはその名前)がありますか?

ベストアンサー1

ログ名(1)現在のユーザーのログイン名を返すコマンドです。
$( ... )構文は次のとおりです。コマンドの置き換えこれは「ここでコマンドの出力を変更してください」と言います。

したがって、ユーザーがfoo次を実行する場合:

sudo sh -c 'echo "foo ALL=(ALL:ALL) NOPASSWD: ALL" > /etc/sudoers.d/foo' & sudo chmod 440 /etc/sudoers.d/foo

おすすめ記事