원격 컴퓨터에 SSH로 접속하고 bash 스크립트에서 새 사용자를 생성하는 방법

원격 컴퓨터에 SSH로 접속하고 bash 스크립트에서 새 사용자를 생성하는 방법

원격 컴퓨터에 SSH를 통해 연결하고 adduser 명령을 실행하려는 bash 스크립트를 작성 중입니다. 이것은 작동하지 않습니다. 아래 코드를 실행하면 adduser에 대한 --help 텍스트만 표시됩니다.

ssh [email protected] 'useradd $username; mkdir /home/$username;' || echo "Unable to create user on pizza.cs.fredonia.edu";;

우분투14.01

답변1

큰따옴표를 사용해 보셨나요? 작은따옴표 내에서 BASH는 $username 변수를 확장하지 않습니다.

예를 들어 $username=bob인 경우 이 명령은 변수를 확장합니다.

ssh user@hostname "useradd $username; mkdir /home/$username;" 

인용된 섹션은 다음으로 확장됩니다.

useradd bob; mkdir /home/bob;

그러나 다음과 같이 작은 따옴표를 사용하는 경우:

ssh user@hostname 'useradd $username; mkdir /home/$username;'

그러면 인용된 부분은 변경되지 않습니다. 이는 다음과 같이 해석됩니다.

useradd $username; mkdir /home/$username;

그런데 마지막에 $username 뒤에는 ;가 필요하지 않습니다.

관련 정보