我正在编写一个 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 之后,没有必要。