Articles of 环境variables

如何检查shell运行的bash脚本

我很模糊如何在脚本中设置一个命令,只有当shell在X会话中运行时才能运行。 基本上,在〜/ .bashrc我设置我的键盘映射 setxkbmap -layout 'us,gr' -variant 'altgr-intl,extended' -option grp:alt_shift_toggle 如果我通过腻子连接,或者只是打开一个命令提示符窗口,我不希望这个命令运行。 另一方面,如果我有一个X会话正在运行(本地或远程),我希望这个命令运行。 我怎么能做到这一点在bash脚本中检查? 有一个bash环境variables,我可以看? 另外一些方法? 感谢您的帮助

提供凭证以安全的方式处理

在系统启动时,我需要启动一个需要其他服务凭据(数据库等)进行交互的进程。 我出于安全原因显然不想将这些文件存储在磁盘上。 我试图想办法在启动时将这些凭据提供给进程 – 仅在启动时启动。 之后,他们应该只能用于这个过程。 这是可能的吗? 底线是要尽可能让入侵者获得这些证书。

从PHP脚本更新PATHvariables

嗨,我想通过PHP脚本更新Path环境variables。 我使用PHP生成了一个.reg文件。 reg文件的内容看起来像 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment] 'PATH'='c:/abc/test/ImageMagick-6.7.8-Q8/convert.exe' 当我运行这个文件,在最后一步我面临一个错误popup显示 Cannot Import c:\User\qarni\downloads\13633555989_.reg: The specified file is not a registry script. You can only import binary registry files from within the registry script 我试图用setx和我的.bat文件来完成这个任务 @echo off set KeyName=Path set KeyValue="D:\songs;%PATH%" setx %KeyName% %KeyValue% 这个文件运行并在不是系统variables的用户variables中创build一个pathvariables。 任何机构可以指导我这个错误,以及如何处理这种情况? 最好的祝福

在新贵脚本中使用$ HOSTNAME

(可以|怎么做)我使用$HOSTNAME在这样一个Ubuntu的暴发户脚本: start on started foo stop on stopped foo exec someexecutable -n "$HOSTNAME""_bb"

ssh SendEnv从Windows到Linux服务器使用cygwin

我正在从Windows cygwin ssh到Open SU​​SE Linux服务器。 我想通过ssh命令发送一个本地环境variables,这样我就可以在login后立即加载一些特定的.bashrc文件。下面是我试过的。 Windows机器有这个envvariables IDENTITY=samiron echo %IDENTITY% samiron 在Linux机器上我有 vim /etc/ssh/sshd_config AcceptEnv IDENTITY 在/home/user/.bashrc我写了类似的东西 export ME=$IDENTITY 我的计划是有一个像.bashrc.samiron文件,并从.bashrc文件source ~/.bashrc.$ME 。 不过,我正在做如下ssh,期待variables$ME包含"samiron" ssh -o SendEnv=IDENTITY [email protected] 但是在logging之后 user@server:~> echo $ME 它什么也没有显示 任何人都可以build议我在这里做错了吗?

在Ubuntu 12.04中设置语言环境(openvz)

我有一个新的安装Ubuntu 12.04作为虚拟openVZ客人。 在基本设置中为LC_ *定义的语言环境是POSIX。 我想将其更改为en_US.UTF-8。 所以我安装了language_pack_en_base和language_pack_en,运行了dpkg-reconfigure locales,并在/ etc / environment和/ etc / default / locale中添加了以下几行: LANG=en_US.UTF-8 LC_CTYPE=C LANGUAGE=en_US.UTF-8 LC_ALL=en_US.UTF-8 但重新启动虚拟机后,语言环境的输出是: LANG= LANGUAGE= LC_CTYPE="POSIX" LC_NUMERIC="POSIX" LC_TIME="POSIX" LC_COLLATE="POSIX" LC_MONETARY="POSIX" LC_MESSAGES="POSIX" LC_PAPER="POSIX" LC_NAME="POSIX" LC_ADDRESS="POSIX" LC_TELEPHONE="POSIX" LC_MEASUREMENT="POSIX" LC_IDENTIFICATION="POSIX" LC_ALL= 我还能做些什么来将en_US.UTF-8设置为该服务器的语言环境?

OpenSSH客户端发送它不应该的环境variables

我有一个主机没有非标准terminal的termcap条目,我不能添加它们(策略)。 我使用tmux将terminaltypes设置为此设备无法识别的内容。 在这里没有问题,最坏的情况下,我可以将TERM设置为'xterm'并完成它。 但: 我已经为OpenSSH客户端configuration了一些默认设置,除了其他设置外,我指示它不发送除LANG和LC_ *之外的任何环境variables。 〜/ .ssh / config的相关部分: Host * SendEnv LANG LC_* 我的OpenSSH客户端版本是6.6.1。 这里是我的SSH会话的logging,删除了不相关的行: % TERM=you.shall.not.pass ssh -vvv host … debug1: Connection established. … debug1: Authentication succeeded (publickey). … debug1: Sending environment. … debug1: Sending env LANG = en_GB.UTF-8 debug2: channel 0: request env confirm 0 … debug3: Ignored env TERM 按照上面的说法,它发送了LANG,写了它忽略了TERM,但不知何故它已经传播给了远程主机: […]

与监督,gunicorn和Django奇怪的行为

主pipe和gunicorn我有一个非常奇怪的问题。 我阅读主pipe文档 ,所有相关的博客文章, stackexchange 问题,但他们都没有解决我的奇怪的问题,我甚至不知道在哪里看得更远。 我的主pipeconfiguration: [program:djangoapp] user = regularuser directory = /path/to/djangoapp command = /path/to/djangoapp/.venv/bin/gunicorn –debug –log-file – –log-level debug –name arlista –workers 9 –pythonpath /path/to/necessary/library/source/Python djangoapp.wsgi:application stdout_logfile = /path/to/logfolder/djangoapp.log autorestart = true redirect_stderr = true environment = GPG_PASSPHRASE="a_passhprase_with_a_comma_in_it", DJANGO_SETTINGS_MODULE="myapp.settings.production", DJANGO_SECRET_KEY="secret_key_working_fine", DJANGO_DB_ENGINE="django.db.backends.mysql", DJANGO_DB_HOST="localhost", DJANGO_DB_NAME="dbname", DJANGO_DB_USER="dbuser", DJANGO_DB_PASSWORD="dbpassword", DJANGO_MEDIA_ROOT="/path/to/djangoapp/media", DJANGO_STATIC_ROOT="/path/to/djangoapp/static_root", # a couple more environment variables […]

composer php作为根,但不作为普通用户,为什么?

我已经安装了Composer Globally,因为这个文档显示,它适用于我的服务器上的root用户CentOS 6.6,但作为一个普通的用户可以让webvm用户说,没有findcomposer php(见下文): [webvm@webvm ~]$ sudo composer [sudo] password for webvm: sudo: composer: command not found 我是否需要设置其他内容才能让composer php从非root用户开始工作? webvm是在sudoers文件,所以我不知道我在这里失踪,有什么build议吗?

Supervisor设置环境variables并获取错误:键/值对的意外结束

伙计们, 我试图将一些东西转移到docker集装箱中,这意味着将它作为一个守护进程转变为一个由supervisord控制的独立进程。 现在我对supervisord没有太多的经验,所以这可能是我的一个简单的configuration错误。 这个问题源于这个应用程序需要设置特定的环境variables。 当作为守护进程运行时,我会通过bash脚本来设置它们 #!/bin/bash ORACLE_HOME=/home/oracle/app/ TNS_ADMIN=/home/oracle/app/network/admin export ORACLE_HOME TNS_ADMIN export LD_LIBRARY_PATH=$PATH:/home/oracle/app/lib ncftpd_authd 在supervisord.conf中,我将其设置为 [program:authd] environment=ORACLE_HOME="/home/oracle/app/",TNS_ADMIN="/home/oracle/app/network/admin",export ORACLE_HOME TNS_ADMIN,export LD_LIBRARY_PATH="$PATH:/home/oracle/app/lib" command=/usr/local/sbin/ncftpd_authd stdout_events_enabled=true stderr_events_enabled=true 但是,如果我打电话给supervisord -c /etc/supervisord.conf,我得到一个错误 [root@0d7f9a5d7c3a src]# supervisord -c /etc/supervisord.conf Error: Unexpected end of key/value pairs 我相信这是关系到环境线,好像我评论说,supervisord将开始(但authd不会运行)。 在supervisord conf文件中设置环境我做了什么错误?