如何在Linux中的不同版本的命令之间切换
之前我们讨论了如何在多个PHP版本之间切换。
在这种方法中,我们使用了“ update-alternatives”命令从一个PHP版本切换到另一个PHP版本。
这意味着,update-alternatives命令可设置默认情况下要使用的系统范围的PHP版本。
要以通俗易懂的方式讲,我们可以使用“ update-alternatives”命令来更改整个命令系统的版本。
如果要根据所在目录动态更改命令版本怎么办?
这就是“ alt”实用程序的帮助所在。
alt是一个命令行工具,可在类似Unix的系统中的不同版本的命令之间进行切换。
这是一个用Rust编程语言编写的简单,免费,开源的工具。
安装
安装alt实用程序很简单。
要在Linux机器上安装alt,只需运行以下命令:
$curl -sL https://github.com/dotboris/alt/raw/master/install.sh | bash -s
接下来,根据我们使用的SHELL,将shims目录添加到PATH环境变量中。
对于BASH:
$echo 'export PATH="$HOME/.local/alt/shims:$PATH"' >> ~/.bashrc $source ~/.bashrc
对于ZSH:
$echo 'export PATH="$HOME/.local/alt/shims:$PATH"' >> ~/.zshrc $source ~/.zshrc
对于鱼:
$echo 'set -x PATH "$HOME/.local/alt/shims" $PATH' >> ~/.config/fish/config.fish
Alt已安装!
在Linux中使用Alt工具在不同版本的命令之间切换
就像我之前提到的,alt与当前目录一起使用。
这意味着,当我们从一个版本切换到另一个版本时,我们仅针对当前工作目录执行此操作,而不是针对整个系统。
让我们来看一个例子。
我已经在Ubuntu系统中安装了两个PHP版本,分别是PHP 5.6和PHP 7.2,并且在名为“ myproject”的目录中有一些PHP应用程序。
首先,让我们使用命令查看全局安装的PHP版本:
$php -v
输出示例:
如我们在上面的屏幕截图中所见,我的系统范围的默认版本是PHP7.2.
接下来,我将转到“ myproject”目录,其中保存了我的PHP应用程序。
$cd myproject
使用以下命令扫描可用的PHP版本:
$alt scan php
输出示例:
如我们所见,我有两个PHP版本,PHP5.6和PHP7.2.
现在按<SPACEBAR>键选择所有可用版本。
选择所有可用版本后,我们将在每个版本后面看到一个十字标记,如下图所示。
使用向上/向下箭头在版本之间移动。
最后按ENTER保存更改。
接下来,运行以下命令以选择要在“ myproject”目录中使用的PHP版本:
$alt use php
我将使用PHP5.6版本,所以我选择了它(使用箭头键选择)并按ENTER键。
现在,我们可以在/home/sk/myproject目录中使用php 5.6(/usr/bin/php5.6)。
让我们检查一下是否在myproject目录中将PHP5.6设置为默认值:
$php -v
输出示例:
它将保持为5.6版本,直到我们更改为其他版本为止。
知道了?
好的!
请注意,我们仅在此目录内使用php5.6版本。
在系统级别,PHP7.2仍然是默认版本。
看下面的图片。
如我们在上面的屏幕截图中所见,我有两个不同版本的PHP。
在“ myproject”目录中,我得到了PHP5.6,而在myproject外部,PHP版本是7.2.
同样,我们可以在每个目录中设置我们选择的任何版本。
我使用PHP进行演示。
但是,我们可以使用任何选择的软件,例如NodeJS。
这是NodeJS的演示视频。
当我们想在不同版本的应用程序下测试应用程序时,alt实用程序会很有用。