相关疑难解决方法(0)

登录 Shell 和非登录 Shell 的区别?

我了解交互式 shell 和非交互式 shell 之间的基本区别。但是,登录 shell 与非登录 shell 的确切区别是什么?

你能举例说明非登录交互式shell 的使用吗?

shell login

435
推荐指数
7
解决办法
25万
查看次数

在没有 chsh 或管理员权限的情况下更改默认 shell

我在这个线程中看到了以下片段:How to change from csh to bash as default shell

sleep 2
if (-x /usr/local/bin/bash) then
  exec /bin/sh -c '. ~/.profile; exec /usr/local/bin/bash'
endif
Run Code Online (Sandbox Code Playgroud)

我的理解是,如果您将此代码段放入~/.login其中,它将bash在您登录时调用。

我有一个类似的情况,我想使用一个类似的片段来调用zsh一个与我登录时使用的默认版本不同的版本。我遇到这个麻烦的部分原因是因为我无法选择zsh中允许的选项中我想要的版本,但chsh我没有管理员权限。

有了这个:

  • 在不同版本的 zsh 之间切换时,如何更改上面的代码片段以执行此操作?
  • 为什么exec上面的代码片段中需要两个命令?他们在做什么?另外,为什么上面的代码片段使用sh bash(用户应该用 登录csh

shell login zsh exec

9
推荐指数
1
解决办法
3万
查看次数

使用未安装在远程机器上的 shell

鉴于场景:

  • 远程机器:SSH服务器;用户没有管理员权限;
  • 机:SSH客户端;用户具有管理员权限。

如果用户本地登录到远程,希望使用未安装在远程上的 shell与远程交互,用户如何单独完成此操作?

示例:用户local上使用fish,并希望在remote上也使用它,但remote只安装了bashzsh

shell ssh not-root-user

9
推荐指数
1
解决办法
3571
查看次数

将 Shell 更改为 /bin/bash 无需通过文件进行 root 访问

让我们假设我是用户(没有权限),我需要通过编辑文件将我的 shell 作为默认设置更改为 /bin/bash。因此,我可以在哪里找到特定用户的文件,我可以在其中编辑默认 shell 并在不涉及管理员的情况下永久设置它。

而且,是否有任何命令可以更改我自己的 shell,我可以直接在文件中进行编辑。

我试图找到一些东西,但只有在您具有 root 访问权限时才告诉命令和文件。

谢谢你。

shell bash not-root-user

2
推荐指数
1
解决办法
3967
查看次数

标签 统计

shell ×4

login ×2

not-root-user ×2

bash ×1

exec ×1

ssh ×1

zsh ×1