小编Ski*_*kip的帖子

为什么需要使用 eval 来传递带引号的参数

我有以下示例。

#!/bin/bash
ARGUMENTS="-executors 1 -description \"The Host\" "

# call1
# error: parameter Host" is not allowed
java -jar swarm-client.jar $ARGUMENTS

# call2    
# works fine with eval
eval java -jar swarm-client.jar $ARGUMENTS
Run Code Online (Sandbox Code Playgroud)

$ARGUMENTS,我有一个引用的论点。我不明白为什么通过转义引号对参数进行分组在call1. 我不明白为什么有eval必要解决引用问题。

我想我不明白shell中命令评估的过程和顺序。你能给我解释一下吗?

shell quoting eval

5
推荐指数
2
解决办法
5627
查看次数

为什么环境变量持久性会破坏 PATH var?

我尝试在 RedHat 中使用/etc/environment.

它清除了我的PATH变量;之后没有识别出任何命令。

为什么会发生这种情况,因为只需在 shell 中执行相同的命令就可以正常工作?!

我的内容/etc/environment

ORACLE_HOME=/usr/lib/oracle/12.1/client64
PATH=$ORACLE_HOME/bin:$PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib
Run Code Online (Sandbox Code Playgroud)

environment-variables

4
推荐指数
1
解决办法
1158
查看次数

标签 统计

environment-variables ×1

eval ×1

quoting ×1

shell ×1