linux - 无法通过脚本执行登录命令并设置DISPLAY变量

标签 linux bash shell unix environment-variables

我是shell脚本的新手,我正在尝试编写一个脚本来存储显示变量,然后使用qlogin命令,然后将显示变量设置为hostname+screen number。
如果不使用source命令,display变量不会更改,但是当我使用source命令时,它会显示为export命令无效,并且不允许qlogin命令。
这是我的剧本

#!/bin/bash
#!/usr/bin/env tcsh
dis=$DISPLAY
echo $dis
x="$(hostname)"
v="$x$dis"
echo $v
export DISPLAY=$v
echo $DISPLAY

最佳答案

export是Bash关键字,而不是tcsh。如果你是采购,你可以删除第一行,因为你希望在同一个外壳无论如何,不想一个新的过程(这行是无关的)。
如果出于某种原因确实要使用tcsh,或使用tcsh启动新环境,请使用:

setenv DISPLAY whatever

而不是出口。常规变量还有:
set x=`hostname`
set v=$x$dis

$()构造不存在。您确定要tcsh

关于linux - 无法通过脚本执行登录命令并设置DISPLAY变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44795192/

相关文章:

带箭头的 Python 原始输入

linux kallsyms R 符号不显示

linux - 将命令 'ls | grep x' 从 linux 转换为 DOS

linux - 在 linux 中添加系统调用时修改 syscall_table.S

linux - 是否可以在同一行中打印 awk 输出

linux - 如何为 php 文件安排 cronjob?

linux - 每次启动时都需要输入exec bash

shell - 使用剪切重新排列列

mysql - 从 shell 脚本将值插入到 mysql

linux - 如何在不提示密码的情况下以不同的用户身份运行 shell 脚本