-1
起動時に毎回スクリプトを実行するにはどうすればよいですか?同様に、ユーザー(bob)の起動時に1つのスクリプトを実行し、別のスクリプトやユーザー(rick)のスクリプトを実行したくないとします。注:Linux vpsの場合起動時にlinuxのvpsで特定のユーザーのスクリプトを実行する
起動時に毎回スクリプトを実行するにはどうすればよいですか?同様に、ユーザー(bob)の起動時に1つのスクリプトを実行し、別のスクリプトやユーザー(rick)のスクリプトを実行したくないとします。注:Linux vpsの場合起動時にlinuxのvpsで特定のユーザーのスクリプトを実行する
bash
が起動すると、すべてのユーザーに対して/etc/bashrc
スクリプトが実行され、特定のユーザーに対して~/.bashrc
スクリプトが実行されます。ここで~
は、ユーザーのホームディレクトリを表します。
いくつかのユーザーに異なるものが必要な場合は、2番目のスクリプトを使用する方が簡単です(これらのアカウントを所有している場合)。中心点から何かを実行したい場合は、
最初のアプローチでは、変数$USER
を使用して、if
またはcase
句を使用して、あるユーザーを別のユーザーと区別することができます。 $EUID
は読み込み専用なのでより安全ですが、それはその名前ではなくユーザーIDを与えます。
あなたができる/etc/bashrc
でcase
を使用する:
case $USER in
bob)
<do something for bob>
# No ";;" here so it follows through
rick)
<do something for bob and rick>
;;
user9*)
<do something for user9*>
;;
esac
は、そのスクリプトはbashスクリプトですか? – Endzo
はい、それは 'bash'で書かれています。 –
スクリプトを実行しているときにこのエラーが表示され、はい、私は両方のユーザーを追加しました。 "./test.sh:16行目:予期しないトークンに近い構文エラー') ' ./test.sh:16行目: 'rick)" – Endzo