ちょっとした問題があります。Unix システムにパスワードなしのユーザー (jenkins) がいます。このユーザーは、jenkins がいくつかのコマンドを実行するために使用されます。この Unix システムに nvm をインストールしたので、/etc/profile
バイナリの場所をユーザーに知らせるためのセクションを追加する必要がありました。
実行することで
sudo -u jenkins nvm
次のエラーが発生します:
[USER@HOST ~]$ sudo -u jenkins nvm
/bin/nvm: line 6: /bin/nvm.sh: No such file or directory
他のユーザーの場合、この設定は機能しますが、jenkins ユーザーの場合は機能しません。jenkins ユーザーは、/home フォルダーに独自のホーム ディレクトリを持っていません。したがって、これが機能しない理由だと思います。
これらの設定を Jenkins ユーザーに適用するにはどうすればよいですか?
Linux xx 3.10.0-957.21.3.el7.x86_64 #1 SMP Fri Jun 14 02:54:29 EDT 2019 x86_64 x86_64 x86_64 GNU/Linux
答え1
でユーザーを切り替えるときに、シェルが などからコマンドを読み取って実行するようにするには/etc/profile
、またはオプション、つまりを使用する必要があります。/etc/bashrc
sudo
-i
--login
sudo -i -u jenkins nvm