문자열을 별칭에 전달하는 방법이 있습니까?

문자열을 별칭에 전달하는 방법이 있습니까?

sudo 즉, 별칭을 만들고 싶습니다.

alias now="echo [password] | sudo -S"

하지만 작동하지 않는 것 같습니다 ...

나는 다음과 같은 것이 효과가 있다고 생각했습니다.

alias now="echo [password] | sudo -S ${command_line_parameter}"

하지만 "${command_line_parameter}"가 무엇인지 모르겠습니다... 어떤 아이디어가 있나요?

답변1

/etc/sudoers이 게시물은 귀하의 질문에 대한 답변을 제공하기 위한 것입니다. 그러나 다른 사람들이 제안한 것처럼 다음과 같이 원하는 규칙을 파일에 구현하는 것을 고려해야 합니다 .

james  ALL=(ALL:ALL) NOPASSWD: /bin/ls

alias기존 방식으로 는 인수를 전달할 수 없습니다. 대신 "함수"를 사용할 수 있습니다.

now(){ echo $1 | sudo -S $@ }

다음과 같이 사용하십시오.

now password

비밀번호를 하드코딩하려는 경우:

now(){ echo your-password | sudo -S $@ }

그 중 어느 것이 전혀 좋은 일이 아닌 것은 비밀번호를 알려주는 것과 같습니다.

관련 정보