- 主题: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.*