最近我的一个 bash 脚本失败了,因为cmake
和zip
/unzip
没有安装在系统上。
$PATH
在env中检查已安装软件包的便捷方法是什么?
我想$PATH
直接检查cmake
等,因为我的脚本在 Debian、Ubuntu、Arch 等上运行。dpkg
因此,我宁愿不使用包管理器,因为我必须使用, pacman
, ... 根据当前执行脚本的发行版多次实现它。
在我的帮助下,ProxyCommand
我设置了一些 ssh 收藏夹以便于使用:
host some_server
hostname some_server
port 22
user some_user
IdentityFile /home/user/.ssh/id_rsa
ProxyCommand ssh frontserver1 -W %h:%p
host frontserver1
hostname frontserver1.url.tld
port 22
user some_user
IdentityFile /home/user/.ssh/id_rsa
今天frontserver1
有很长的停机时间,但我也可以通过frontserver2
或连接frontserver3
。但是,我将不得不重新设置一切some_server_via_front2
,依此类推。这将导致我想要访问的每个 Intranet 服务器(有很多)都有 n 个条目,其中 n 是前端服务器的数量。
有没有更简单的方法?
我可以设置替代品ProxyCommand
吗?
类似的东西:如果ProxyCommand ssh frontserver1 -W %h:%p
无法到达,那么去ProxyCommand ssh frontserver2 -W %h:%p
,然后frontserver3
,......