如何 ssh 到远程计算机并在 bash 脚本中创建新用户

如何 ssh 到远程计算机并在 bash 脚本中创建新用户

我正在编写一个 bash 脚本,想要 ssh 到远程计算机并执行 adduser 命令。这是行不通的,当我运行下面的代码时,我得到的只是 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 之后,没有必要。

相关内容