草庐IT

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 - 为什么 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',有没有办法通过首选应用程序?也许有一

python -/usr/bin/env : python2: No such file or directory

关闭。这个问题是off-topic.它目前不接受答案。想改进这个问题吗?Updatethequestion所以它是on-topic用于堆栈溢出。关闭10年前。Improvethisquestion我正尝试在Ubuntu上为我的Emacs配置Python,但出现以下错误:/usr/bin/env:python2:Nosuchfileordirectory有人可以帮我吗?我能做些什么来解决它?

javascript - 如何访问 javascript 中的 laravel .env 变量?

我目前在Laravel应用程序中使用Algolia作为我的搜索引擎,因此每当创建记录时,它也会被发送到Agolia数据库。当然,我想将Algolia数据库中的数据与用于本地开发的测试集和用于实时网站的生产集分开。我已经定义了在JavaScript文件中使用我的Algolia数据库的哪些索引。现在我想知道如何根据我当前的环境对我的APP_ENV变量做出相应的react来改变它?显然,我需要将内容放入我的JavaScript中的if语句中,但如何让我的javascript正确访问.env变量?希望有人能帮助我。干杯。 最佳答案 您可以在

php - 为命令行脚本设置 Zend APPLICATION_ENV

使用ZendFramework设置环境(生产/暂存/开发)的标准做法是在Apache配置(或.htaccess)中使用SetEnv来设置APPLICATION_ENV。这显然适用于Web请求,但是运行命令行脚本(仍然是应用程序的一部分,使用相同的Bootstrap,并依赖于正确的APPLICATION_ENV)呢?有什么最佳做法吗?现在我只是将一个.environment.php文件放到我的cli目录中——如果它存在,它就会被包含(类似于.htaccess我猜测),并且可以用来设置环境。 最佳答案 从终端对于(linux)仅命令行用

php - 如何解决错误 "[ErrorException] file_get_contents(/var/www/laravel/.env): failed to open stream: No such file or directory"?

我在我的机器上使用Ubuntu14.04。我在文档根目录中安装了composer和laravel即/var/www我还授予了-R777文件夹laravel的权限,该文件夹存在于目录/var/www然后我使用cd/var/www/laravel进入目录laravel并运行以下命令phpartisan我看到了那里有所有可用的命令。然后我输入phpartisankey:generate得到了错误[ErrorException]file_get_contents(/var/www/laravel/.env):failedtoopenstream:Nosuchfileordirectory在这里