한 사용자에서 다른 사용자에게 기능을 전달할 수있는 방법이 있습니까?
예를 들어 루트로 실행하는 작은 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 개 이상의 명령을 실행하려고 할 때 초과하지 않는 것이 좋습니다.
동일한 스크립트 내에서 다른 사용자에게 함수를 전달할 수 있습니까 (예 : 디스크에 다른 사용자로 스크립트를 작성하지 않고 생성 된 스크립트를 실행하지 않음)? 아니면 내가 간과하는 또 다른 옵션이 있습니까?