我正在使用 make 来处理我的应用程序的构建文件,而这些构建过程使用节点模块。由于我在本地安装这些节点模块,因此我必须在我的$PATH
位置中指定调用可执行文件的位置,例如PATH=$(npm bin):$PATH
.
我已经在我的 Makefile 中设置了一个变量NPMEXEC := PATH=$(shell npm bin):$$PATH
,并在需要时将其添加到我的命令中。但是,对于一些较长的任务,例如在运行多个命令的测试期间,在任务的整个持续时间内进行 PATH 分配会很方便,有点像pushd
/ popd
。那可能吗?
在工作中,我通过 SSH 访问远程系统和通过 LDAP 登录的一些 Web 界面。我使用 1password 来管理我的密码,但我似乎无法找到一种简单的方法将密码从密码管理器输入到 SSH。我看到了,sshpass
但它可以在 中显示密码ps
,这真的很糟糕,而且在我的情况下也不起作用。有没有办法直接通过 SSH 从外部程序或脚本输入密码,或者 SSH 中是否有可以利用并保持密码同步的设施?例如保留一个我为 SSH 解锁的具有相同密码的密钥文件,每当我更新密码时都会更新。注意我不能直接使用密钥登录系统,因为它不是为了支持它而构建的。
编辑:一位评论者指出,sshpass
将在 中显示密码ps
,这是不行的。我也不能直接为之类ssh
的东西设置别名,sshpass ... ssh
因为我仍然登录使用密钥的系统。
编辑 2:我确认密码管理器没问题,我尝试使用sshpass
文件描述符登录服务器,但它似乎不起作用 - 而不是提示我输入我的 RSA 令牌,我一无所获,这让我认为它不会运行相同的代码并且不会接受sshpass
.
我ATLAS
(使用 Netlib LAPACK
)安装在 Docker 映像中,现在每次运行时ldconfig
,都会出现以下错误:
ldconfig: Can't link /usr/local/lib//usr/local/lib/libtatlas.so to libtatlas.so
ldconfig: Can't link /usr/local/lib//usr/local/lib/libsatlas.so to libsatlas.so
Run Code Online (Sandbox Code Playgroud)
当然,/usr/local/lib//usr/local/lib/libtatlas.so
不存在,但我很困惑为什么它会尝试查找这个文件,因为libtatlas.so
它不是符号链接:
root@cd00953552ab:/usr/local/lib# ls -la | grep atlas
-rw-r--r-- 1 root staff 15242054 Apr 27 08:18 libatlas.a
-rwxr-xr-x 1 root staff 17590040 Apr 27 08:18 libatlas.so
-rwxr-xr-x 1 root staff 17492184 Apr 27 08:18 libsatlas.so
-rwxr-xr-x 1 root staff 17590040 Apr 27 08:18 libtatlas.so
Run Code Online (Sandbox Code Playgroud)
为什么会发生这种情况,有没有办法修复它/关闭此错误消息?
编辑:这是 Readelf 输出:
root@cd00953552ab:/usr/local/lib# eu-readelf -a /usr/local/lib/libatlas.so | grep SONAME …
Run Code Online (Sandbox Code Playgroud)