仅当计算机上存在bash shell时才使用/(更改为)
我正在使用仅当计算机上存在bash shell时才使用/(更改为),bash,Bash,我正在使用.login文件在登录时更改shell并进行其他修改 如果我尝试从这台机器ssh到另一台没有bash(有tcsh)的机器(使用可共享配置文件),我将得到一个错误,并且连接已关闭 如何检查bash是否存在,只有在存在时才进行更改。在执行它之前只需测试它是否存在。例如: test -x /bin/bash && exec /bin/bash -l sshuser@host-tt'sh-c“test-x/bin/bash&&exec/bin/bash-l” -tt=强制分配
.login
文件在登录时更改shell并进行其他修改
如果我尝试从这台机器ssh
到另一台没有bash(有tcsh)的机器(使用可共享配置文件),我将得到一个错误,并且连接已关闭
如何检查bash是否存在,只有在存在时才进行更改。在执行它之前只需测试它是否存在。例如:
test -x /bin/bash && exec /bin/bash -l
sshuser@host-tt'sh-c“test-x/bin/bash&&exec/bin/bash-l”
-tt
=强制分配终端
您还可以在远程计算机上检查bash是否允许作为
/etc/shells/
chsh中的登录shell-l将列出您可用的shell错误消息是什么?@Raman,在哪个chsh
实现上?对于作为util-linux-2.23.2-43.el7_4.2.x86_64一部分的passwd
version 4.7.chsh中的标志,它当然不是公认的标志