草庐IT

Application_ENV

全部标签

linux - 如何编写 bash shell 脚本以通过 ssh 连接到远程计算机并更改用户并导出 env 变量并执行其他命令

我有一个在多个不同的远程redhat机器上运行的网络服务。每当我想更新服务时,我都会从版本控制库(我使用perforce)同步用perl编写的新Web服务源代码,并使用新同步的perl代码重新启动服务。我觉得一个一个登录到远程机器,然后手动一个一个重启服务的那一系列命令,太无聊了。所以我写了一个像下面这样的bash脚本update.sh以“一次在一个地方做,更新所有机器”。我将在我的本地机器上运行这个shell脚本。不过好像不行。它只执行第一个命令“sudo-uwebservice_username-i”,正如我从本地机器的命令行中看到的那样。(下面的代码仅显示了它将如何更新远程Web

python /usr/bin/env : bad interpreter: Not a directory

我做错了。我安装了Python3,然后我执行了以下命令以使默认版本的Python成为Python3sudoln-fs/opt/Python-3.4.1/python/usr/bin/python但我想回到python2.7而我做到了sudoln-fs/usr/bin/python2.7/python/usr/bin/python现在,当我想运行一个带有python的bash脚本时,出现以下错误:/usr/bin/env:badinterpreter:Notadirectory当我运行这个命令时:ls-l/usr/bin/env我的结果是红色的:lrwxrwxrwx1rootroot25

linux - Robo3t crashing in ubuntu 16.04 and above version (This application failed start because it could not find or load the Qt platform plugin "xcb")

当我在ubuntu16.04版本中启动robo3t时它没有打开,错误如下所示错误:sony@sony:~/Documents/installed/robo3t-1.1.1-linux-x86_64-c93c6b0/bin$./robo3tThisapplicationfailedtostartbecauseitcouldnotfindorloadtheQtplatformplugin"xcb"in"".Availableplatformpluginsare:xcb.Reinstallingtheapplicationmayfixthisproblem.Aborted(coredumpe

linux - GDB 调试 : Application termintes with SIGTRAP

一直在尝试使用GDB远程调试在我的目标上运行的应用程序。目标基于Armv6,操作系统是linux,应用程序是基于QT的多线程应用程序。我可以设置断点。但是当遇到断点时,程序会随着SIGTRAP一起崩溃。提示:我可以在同一个目标上运行另一个小样本多线程QT-App。可能是什么问题?GDB日志如下0x4ad52c处的断点1:文件,。(2个地点)(gdb)c继续。程序以信号SIGTRAP、跟踪/断点陷阱终止。该程序不再存在。(gdb)(gdb) 最佳答案 你可能有一个解决方案:http://sourceware.org/gdb/wiki/

c++ - Linux C++ : How do I display my Text application output outside of stdout?

我的目标是创建一个可在Linux终端上玩的游戏。然而,有一个我不知道如何命名的概念,所以我的搜索都是空手而归。像iptraf这样的程序如何在如此低的级别上访问输出,以至于它们可以修改每个单元格的背景、前景和字符内容,以及捕获所有键盘输入而不是shell?我假设某处存在一个二维数组,可以对其进行修改以显示自定义终端窗口内容,但我无法命名这个概念,所以我无法搜索它。我在描述什么概念? 最佳答案 按照thismeta-answer的想法,我正在回答这个问题,这样我就会从“未回答”列表中删除。您正在寻找的概念由@123描述,它称为ncurs

linux - 为什么 env 不打印 PS1 变量?

当我们打印PS1的值时,它被设置为:$echo$PS1[\u@\h\W]\$我们可以使用env命令来打印环境变量。为什么它不列出PS1变量?$env|grepPS1#Nooutputhere 最佳答案 因为PS1不是(通常,在您的特定情况下)环境变量。在bash实例中设置了许多变量,您可以列出这些变量:$setBASH=/bin/bashBASHOPTS=checkwinsize:cmdhist:…BASH_ALIASES=()BASH_ARGC=()..SHLVL=1SSH_AGENT_PID=853SSH_AUTH_SOCK=/

linux - 我如何在 make 目标之间传递 ENV 变量

我在makefile中有这样的target1:exportvar1=test$(MAKE)target2target2:echo$(var1)这是空的我有其他依赖项,所以我想在第一个目标中设置变量,然后所有子依赖项都应该能够访问它编辑:.ONESHELL:target1:exportvar1=testecho$(var1)输出maketarget1exportvar1=testecho 最佳答案 默认情况下,make为每个配方调用一个新的shell环境,第一行的exported变量不在第二行的范围内。您可以通过多种方式解决此问题:使

linux - bash:设置数组 env 变量并从任何 shell 脚本取消引用它失败

我以这种方式将数组设置为环境变量例如。脚本test.sh在测试.sh#!/bin/bashexportSTRING=("str1""str2")源码测试.sh现在在脚本test-1.sh#!/bin/bashecho${STRING[0]}响应什么都没有,只是一个空行,然而,如果我尝试在test.sh中设置STRING="str1"并在test-1.sh中执行echo$STRING,这有效。测试仅从root用户执行,现在如何将数组设置为环境变量,以便我可以根据需要调用数组的元素?早些时候,我什至尝试修改/etc/bashrc,但也没有产生任何积极的结果。我需要将数组设置为env变量,因

python - shebang env首选python版本

我有一些python-2.x脚本,我在不同的系统、Debian和Archlinux之间复制它们。Debian将python安装为“/usr/bin/python”,而Arch将其安装为“/usr/bin/python2”。一个问题是在Archlinux上也存在引用python-3.x的'/usr/bin/python'。因此,每次我复制一个文件时,我都必须更正shebang行,这有点烦人。我在Arch上使用#!/usr/bin/envpython2在debian上我有#!/usr/bin/envpython由于Debian上不存在'python2',有没有办法通过首选应用程序?也许有一

linux mail < file.log 有 Content-Type : application/octet-stream (a noname attachment in Gmail)

我一直在用mail-s"hereisalogfile""person@example.com"过去是通过标题来实现的:User-Agent:Heirloommailx12.47/29/08MIME-Version:1.0Content-Type:text/plain;charset=us-asciiContent-Transfer-Encoding:7bit但现在文件变长了,我得到的是无名附件,因为这样:User-Agent:Heirloommailx12.47/29/08MIME-Version:1.0Content-Type:application/octet-streamCont