- 主题:remote机的环境变量
这可能是个思路,从ssh管理的角度,但我没试
我最终设置了一个本地环境变量,然后本地取出,作为一个参数发到远端机去使用。
【 在 poocp 的大作中提到: 】
: 帮你向Bing问了一下,不过我现在没环境还没试行不行,你有兴趣可以试试。
: [upload=1][/upload]
--
修改:DragonDon FROM 112.193.113.*
FROM 112.193.113.*
这个方法不行哈
【 在 iwannabe 的大作中提到: 】
: try
: ssh xxx@remot_machine "echo \$MYPWD"
: or
: ...................
--
FROM 112.193.113.*
这个方法不行哈
【 在 ensonmj 的大作中提到: 】
: ssh remote cmd这种格式默认不分配伪终端,可能连登陆shell也不执行,试试 ssh -T remote cmd
--
FROM 112.193.113.*
$ ssh root@192.168.10.254 echo \$PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin
$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/l
ocal/games:/usr/lib/wsl/lib:/mnt/c/Python312/Scripts/:/mnt/c/Python312/:/mnt/c
/Program Files (x86)/Common Files/Oracle/Java/javapath:/mnt/c/Program Files
(x86)/VMware/VMware Workstation/bin/:/mnt/d/develop/Python39/Scripts/:/mnt/d/d
evelop/Python39/:/mnt/c/Windows/system32:/mnt/c/Windows:/mnt/c/Windows/System3
2/Wbem:/mnt/c/Windows/System32/WindowsPowerShell/v1.0/:/mnt/c/Windows/System32
/OpenSSH/:/mnt/c/Program Files (x86)/NVIDIA Corporation/PhysX/Common:/mnt/c/Pr
ogram Files/NVIDIA Corporation/NVIDIA NvDLISR:/mnt/d/develop/Git/cmd:/mnt/d/de
velop/nodejs/:/mnt/c/ProgramData/chocolatey/bin:/mnt/c/Users/guogu/AppData/Loc
al/Microsoft/WindowsApps:/mnt/c/Program Files/JetBrains/IntelliJ IDEA
2023.2.2/bin:/mnt/c/Users/guogu/AppData/Roaming/npm:/snap/bin
【 在 DragonDon 的大作中提到: 】
: 这个方法不行哈
--
FROM 119.139.199.*
试了一下你这个确实工作
猜想是全局的环境变量可以,但局部的环境变量不行
【 在 iwannabe 的大作中提到: 】
: $ ssh root@192.168.10.254 echo \$PATH
: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin
: $ echo $PATH
: ...................
--
FROM 210.41.233.*
'bash -c "echo \$PATH"'
试试这个?
【 在 DragonDon 的大作中提到: 】
: 试了一下你这个确实工作
: 猜想是全局的环境变量可以,但局部的环境变量不行
--
FROM 119.139.199.*
不清楚为什么这么多人这么依赖 Linux 却不愿意简单学习一下 shell,
最起码搞清楚单引号和双引号的区别也好呀。
【 在 DragonDon 的大作中提到: 】
: remote machine已经定义了一个环境变量,如MYPWD
: 现在local machine上执行:ssh xxx@remot_machine "echo $MYPWD",无法获得MYPWD的正确值,尝试ssh xxx@remot_machine "source ~/.bashrc echo $MYPWD"也不起作用;
: 这是怎么回事,如何解决?
: (应用场景是local机调用一个remote机的代码,代码依赖一个在remote机上已定义的环境变量,目前这种应用会提示没有这个环境变量,但如果直接在remote机上运行是没有问题的)
--
FROM 27.38.228.*
首先""里面的$ shell会做解析
你可以理解为shell先解析一遍,把能替换的变量都替换了,然后才会传递给ssh
所以你得用转义或者单括号' '
其次你要看你所谓的变量到底是怎么设置上去的,ssh remote执行命令是non-interactive
mode,你直接ssh登录上去执行命令那是interactive mode
你要看在设置的时候如果区分了这两种模式,而且你也可能不是直接设置的,而是在上层调用脚本里面进行了判断
发自「快看水母 于 NE2213」
--
FROM 101.84.190.*