sudoで実行する必要があるが、それを実行した非sudoユーザーの名前を考慮する必要があるbashスクリプトを作成したい。したがって、ユーザーbob
が実行した場合、それを実行したのが知りsudo ./myscript.sh
たいと思います。myscript.sh
bob
中を見てみましょうmyscript.sh
:
USER=$(whoami)
# Do something that takes into account the username.
プロセスを生成したユーザーの名前を知るにはどうすればよいですか?より具体的にはwhoami
、取得する代わりに取得する代わりに何を使用する必要がbob
ありroot
ますか?
なぜ編集しないのですか?現在修正済み。
—
マルシオ14年
あまりにも簡単です。編集は少なくとも6文字、少なくとも推奨される文字である必要があります。
—
nyuszika7h 14年
わかった。ヒントをありがとう:DIは通常
—
marcio 14年
#!/usr/bin/env bash
、私のbashスクリプトにこのようなhashbangを置きます。
hashbangは、明示的に
—
nyuszika7h 14年
sh
または他のものを呼び出した場合、無視されます。
USER=$(whoami)
。USER
はシェルの内部変数として既に存在することに注意してください。また、bashスクリプトの場合はsh
、を使用して実行しないでください。これには、POSIX互換の機能のサブセットしかありません。