Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/26.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
Linux debian终端无法更改为su_Linux_Debian_Fish - Fatal编程技术网

Linux debian终端无法更改为su

Linux debian终端无法更改为su,linux,debian,fish,Linux,Debian,Fish,我昨天安装了debian strech。我安装了鱼壳。我通过以下操作将默认shell更改为fish su chsh -s 'which fish' 然后再次输入this命令 su chsh -s `which fish` 现在,在重新启动电脑后,我在使用“su”时遇到以下错误 您的意思是在第一个命令中使用常规单引号字符吗?这样做意味着您的shell现在实际上是字符串whichfish,而不是fish命令的路径。这就解释了为什么您的第二个命令报告它无法执行“哪条鱼”。即使没有这个错误,更改根帐

我昨天安装了debian strech。我安装了鱼壳。我通过以下操作将默认shell更改为fish

su chsh -s 'which fish'
然后再次输入this命令

su chsh -s `which fish`
现在,在重新启动电脑后,我在使用“su”时遇到以下错误


您的意思是在第一个命令中使用常规单引号字符吗?这样做意味着您的shell现在实际上是字符串
whichfish
,而不是fish命令的路径。这就解释了为什么您的第二个命令报告它无法执行“哪条鱼”。即使没有这个错误,更改根帐户的默认shell也是一个非常糟糕的主意。你只是自找麻烦。作为一名核心鱼类开发人员,我这么说。除非您是非常有能力和自信的CLI用户,否则不应更改根shell。如果您想使用fish作为根shell,您可以在
su
之后执行
exec fish-l

好的@jww谢谢您来自unix.stackexchange.com我解决了这个问题。裁判
getent passwd root
显示了什么?
sathish@localhost ~> su
Password: 
Cannot execute which fish: No such file or directory