4
関数をBashの別のユーザーに渡しますか?
関数をあるユーザーから別のユーザーに渡す方法はありますか? たとえば、ルートとして実行する小さなBashスクリプトがあります。 #!/bin/bash user_func(){ whoami exit } su vagrant -c 'user_func' ただし、user_func関数はVagrantユーザーに対しては定義されておらず、ルートに対してのみ定義されているため、実行できません。 私の他のオプションは、複数の行を持つことです su vagrant -c 'cmd1' su vagrant -c 'cmd2' , etc または、複数のコマンドをex:で実行しますsu vagrant -c 'cmd1; cmd2; cmd3;'が、特にVagrantユーザーとして5つ以上のコマンドを実行しようとする場合は、余分なコマンドを使用しない方がよいでしょう。 同じスクリプト内から別のユーザーに関数を渡すことはできますか(たとえば、別のユーザーとしてディスク上にスクリプトを作成してから、その生成されたスクリプトを実行しない)。または私が見落としている別のオプションはありますか?
11
bash