首页 行业资讯 宠物日常 宠物养护 宠物健康 宠物故事

ssh远程执行linux 命令是单引号还是双引号

发布网友 发布时间:2022-04-23 16:14

我来回答

3个回答

热心网友 时间:2023-07-20 01:47

单引号和双引号在ssh命令中的区别:
以一个例子来说明问题,
假设本地机器上配置了JAVA环境变量,在本地执行 echo $JAVA_HOME=/opt/jdk
假若我想查看远程机器上的JAVA环境变量,则只能使用单引号了,ssh user@node ' echo $JAVA ', 则是' ' 中的$JAVA不会被shell解析,而是当做一个字符串,此时参数 echo $JAVA 传递给了 ssh;
如果我们使用 ssh user@node ” echo $JAVA ",则 shell 首先会解析$JAVA,得到它的值,则该命令就变成了 ssh user@node ' echo /opt/jdk ' 了

热心网友 时间:2023-07-20 01:47

单引号与双引号都可以,只是在本地的操作系统中,双引号内的环境变量(例如$HOME,$CC)等会被替换成系统变量的值,而单引号则不会。

例如
$ export LS=ls
$ ssh username@ip "$LS"
Desktop
Documents
Downloads
输出结果是在远端当前目录执行ls命令的输出结果
然而当我们使用单引号时候则不会得到任何输出,因为远端系统中根本没有$LS这个命令。

热心网友 时间:2023-07-20 01:48

运行需要命令前加命令路径

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com