Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用我在github中创建的bash脚本执行chsh?_Bash_Shell_Gist - Fatal编程技术网

如何使用我在github中创建的bash脚本执行chsh?

如何使用我在github中创建的bash脚本执行chsh?,bash,shell,gist,Bash,Shell,Gist,我有一个要点,我总是用它在新服务器上安装我需要的软件包 我需要做的就是通过ssh在fresh服务器中键入以下内容 bash -c "$(curl -fsSL https://raw.github.com/gist/4372049)" <mysqlPassword> 在此处列出 有没有一种方法可以在gist.github.com中编写bash脚本,以类似的方式执行 如果是这样,如何编写bash脚本 更新: 我意识到我有权投票结束这个问题,因为它被认为太本地化了 让我把这句话转述给你

我有一个要点,我总是用它在新服务器上安装我需要的软件包

我需要做的就是通过ssh在fresh服务器中键入以下内容

bash -c "$(curl -fsSL https://raw.github.com/gist/4372049)" <mysqlPassword>
在此处列出

有没有一种方法可以在gist.github.com中编写bash脚本,以类似的方式执行

如果是这样,如何编写bash脚本

更新:

我意识到我有权投票结束这个问题,因为它被认为太本地化了

让我把这句话转述给你

如何编写一个bash脚本,我可以将它放在gist中,并在linux控制台中使用它,这样它就可以接受用户名和密码的参数,从而执行命令

chsh -s /bin/bash 
以及正确提供密码

这是我的尝试:

su起作用了,但chsh司令部不起作用

更新2:

我已将脚本更改为

EXPECTEDARGS=1
if [ $# -ne $EXPECTEDARGS -o "x$0" == "x"  -o $0 == "bash" ]; then
  echo "Usage:"
  echo "   Parameter 1: your username"
  echo "   Parameter 2: your password"
  exit 1
fi

CHANGESHELL_FOR_USER=$0
PASSWORD_OF_USER=$1

########################################
## switch to another user
## read this https://stackoverflow.com/a/1988255/80353
########################################
sudo -u $CHANGESHELL_FOR_USER -H sh -c "chsh -s /bin/bash" 

expect "*?assword:*" {send -- "$PASSWORD_OF_USER\r";}
expect eof
读后

现在的问题是在提示输入密码时以某种方式发送密码

Password: 

只要您以root用户身份运行下面的命令,就可以了

chsh -s /bin/bash <username>

请参见

您是否以root用户身份运行脚本?Sudo作为root用户不应该提示输入密码…@Kimvais谢谢,你的评论让我找到了正确的答案。但直到今天我才把这些点联系起来。我会根据你的评论写出答案。
chsh -s /bin/bash <username>
chsh -s /bin/bash www-data