sudoで実行する必要があるが、それを実行した非sudoユーザーの名前を考慮する必要があるbashスクリプトを作成したい。したがって、ユーザーbobが実行した場合、それを実行したのが知りsudo ./myscript.shたいと思います。myscript.shbob
中を見てみましょう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互換の機能のサブセットしかありません。