相关疑难解决方法(0)

`VAR=...` 和 `export VAR=...` 有什么区别?

做的有什么区别

$ MAVEN_OPTS="-Xmx512m -XX:MaxPermSize=384m"
Run Code Online (Sandbox Code Playgroud)

$ export MAVEN_OPTS="-Xmx512m -XX:MaxPermSize=384m"
Run Code Online (Sandbox Code Playgroud)

在 SSH 连接中执行这两种操作是否有任何副作用?

bash environment-variables

13
推荐指数
2
解决办法
2064
查看次数

如何使用cron每小时在bash中启动交互式shell脚本?

我把这一行放在 crontab 中:

1 * * * * DISPLAY=:0.0 /usr/bin/gnome-terminal -e /home/user/Desktop/mltpl
Run Code Online (Sandbox Code Playgroud)

该脚本是可执行的。

如果将该命令粘贴到终端中——即没有星号的字符串,它可以完美运行:

DISPLAY=:0.0 /usr/bin/gnome-terminal -e /home/user/Desktop/mltpl
Run Code Online (Sandbox Code Playgroud)

我试过:

sudo service cron restart
Run Code Online (Sandbox Code Playgroud)

但问题仍然存在。我怎样才能cron每小时运行该命令?


更新。让它与 ROOT crontab 一起工作:

1 * * * * DISPLAY=:0 XDG_RUNTIME_DIR=/run/user/1000 XAUTHORITY=/home/user/.Xauthority /usr/bin/gnome-terminal -e /home/user/Desktop/mltpl
Run Code Online (Sandbox Code Playgroud)

xorg bash cron

2
推荐指数
1
解决办法
3302
查看次数

“导出”命令在哪个系统文件中进行更改?

我使用 PPA 安装了 java-8。之后我发出了一个命令:

export JAVA_HOME=/usr/lib/jvm/java-8-oracle
Run Code Online (Sandbox Code Playgroud)

我在某处听说此命令会进行临时更改。但是经过多次注销和登录后,下面的这些命令仍然有效(我认为由于该export ...命令):

java -version
javac -version
Run Code Online (Sandbox Code Playgroud)

但是当我发出命令时:

export -p
Run Code Online (Sandbox Code Playgroud)

它显示了一个环境变量列表,但在该列表中,不显示 variable JAVA_HOME。此外,我想知道的命令java,并javac仍然有效!

有人可以告诉我在哪个文件export命令中进行更改吗?它们是临时的还是永久的?上面还有什么?请详细说明!

filesystem command-line bash java environment-variables

2
推荐指数
1
解决办法
1255
查看次数

“echo”和“export”环境变量之间的区别?

环境是Ubuntu 18。

如果我在 /etc/environment 中添加一行JAVA_HOME="/usr/java11"并执行source /etc/environment,我可以回显此环境变量:

echo $JAVA_HOME
/usr/java11
Run Code Online (Sandbox Code Playgroud)

但是,如果我尝试从导出中获取它,则该变量不在列表中:

export | grep JAVA_HOME
--result is blank--
Run Code Online (Sandbox Code Playgroud)

然后我用export $JAVA_HOME=/usr/java8导出一个变量(注意这里是java8,而不是java 11),我可以有:

export |grep JAVA_HOME
declare -x JAVA_HOME="/usr/java8"
Run Code Online (Sandbox Code Playgroud)

现在,我仍然可以echo $JAVA_HOME作为/usr/java11:

echo $JAVA_HOME
/usr/java11
Run Code Online (Sandbox Code Playgroud)

echo $variable问题:和有什么区别export | grep JAVA_HOME

我尝试一个简单的 python 程序,os.environ.get("JAVA_HOME")从导出返回“/usr/java8”,而不是回显。

command-line bash environment-variables

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