readlink -f $(which java) | sed "s:bin/java::"可以换成单引号吗
时间: 2024-03-02 11:51:15 浏览: 22
在Linux终端中,单引号和双引号在处理命令中的变量和特殊字符时有所区别。如果你想要将整个命令放在单引号中,那么需要将其中的 `$` 符号进行转义,否则变量将不会被正确解析。因此,你可以使用以下命令来替代之前的命令:
```shell
readlink -f $(which java) | sed 's:bin/java::'
```
这个命令和之前的命令功能完全一致,只是将双引号改为了单引号,并对 `$` 符号进行了转义。
相关问题
$ readlink -f $(which javac) | sed "s:/bin/javac::"找不到
如果 `readlink -f $(which javac) | sed "s:/bin/javac::"` 命令找不到 JDK 安装路径,您可以尝试以下方法:
1. 如果您已经安装了 JDK,请确保 JAVA_HOME 环境变量已经正确设置。您可以在终端中输入 `echo $JAVA_HOME` 命令来检查环境变量是否已经设置。如果命令没有输出,则说明 JAVA_HOME 没有设置或者设置不正确。
2. 如果您没有安装 JDK,则需要先安装 JDK。您可以在终端中运行以下命令来安装 OpenJDK:
```bash
$ sudo apt update
$ sudo apt install openjdk-8-jdk
```
如果您使用的是其他 Linux 发行版,请根据其官方文档来安装 OpenJDK。
3. 安装完成后,您可以使用以下命令来查找 JDK 的安装路径:
```bash
$ readlink -f $(which java) | sed "s:/bin/java::"
```
如果您成功找到了 JDK 的安装路径,则将该路径添加到 JAVA_HOME 环境变量中。您可以使用以下命令来编辑 ~/.bashrc 文件并添加 JAVA_HOME 环境变量:
```bash
$ echo "export JAVA_HOME=<JDK 安装路径>" >> ~/.bashrc
$ source ~/.bashrc
```
将 `<JDK 安装路径>` 替换为您找到的 JDK 安装路径。
4. 现在,您可以再次使用 `readlink -f $(which javac) | sed "s:/bin/javac::"` 命令来查找 JDK 安装路径。如果命令成功输出 JDK 的安装路径,则您已经成功设置了 JAVA_HOME 环境变量。
echo $(readlink -f $(which bash)) | sed 's/\/bin\/bash//g'返回usr而非在windows中那种C盘什么的安装位置
这是因为在Linux和Unix系统中,根目录被表示为“/”,而不是像Windows系统中的“C:\”这样的驱动器符号。因此,命令“echo $(readlink -f $(which bash))”返回的是Bash shell的安装路径的绝对路径。而使用sed命令,我们将匹配字符串“/bin/bash”替换为空字符串,最终得到的是Bash shell的安装路径的所在目录,也就是“/usr”这个目录。