在返回非交互shell之前,我在.bashrc的最顶部有这个
FOO="BAR"; export FOO
echo "HELLO WORLD"
# If not running interactively, don't do anything
[ -z "$PS1" ] && return
我的主目录中有一个脚本test.sh与此:
#!/bin/bash
echo "A"
echo $FOO
echo "B"
我执行test.sh。输出:
A
B
2个问题:
为什么我看不到$ FOO的值?
为什么我看不到“ HELLO WORLD”?
编辑:我认为带有#!/ bin / bash的脚本会触发一个子外壳,它将再次调用.bashrc,我错了吗?
编辑:即使我确实从其他主机调用脚本,也不会看到任何值。即使这样,.bashrc也将被执行???
ssh remotehost "/home/username/test.sh"
.bashrc
仅自动为非登录交互式外壳提供。通常,您会将文件放在. .bashrc
开头附近.bash_login
,以确保该文件.bashrc来自登录和非登录交互式外壳程序。
.bashrc 不会自动为非交互式外壳(例如在执行外壳脚本时启动的外壳)提供源。
由于您是FOO从导出的.bashrc
,因此test.sh
看到FOO具有空值的事实告诉我您正在从登录Shell运行脚本。是否echo $FOO从提示打印BAR?如果确实如此,我会感到惊讶test.sh
。
是否可以访问模板中的设置变量? 设置: 如何使用,而不在模板中重用,以避免重复的代码,尤其是在其层次结构较深的情况下?
问题内容: 在后台代码中,我设置了一些数据。 问题是如何在javascript中获取会话值(在我的示例中为“示例数据”)并设置一个新值? 问题答案: 使用Java脚本访问和分配会话变量: 使用Javascript分配ASP.NET会话变量: 使用Javascript访问ASP.NET Session变量:
本文向大家介绍Python中设置变量访问权限的方法,包括了Python中设置变量访问权限的方法的使用技巧和注意事项,需要的朋友参考一下 在Class内部,可以有属性和方法,而外部代码可以通过直接调用实例变量的方法来操作数据,这样,就隐藏了内部的复杂逻辑。 但是,从前面Student类的定义来看,外部代码还是可以自由地修改一个实例的name、score属性: 如果要让内部属性不被外部访问,可以把属性
问题内容: 这是我第一次使用SQLServer 2012,并且我收到的这段代码不起作用: 这段代码有问题: 我有以下三个错误: 问题答案: 您需要替换为,它将起作用 所以这 需要替换为
问题内容: 我正在使用Docker和Docker-compose构建一堆nginx + php。 我试图在我的文件中设置时区,并在Dockerfile中使用它,但是我可能会误解文档中的内容。 .env docker-compose.yml php7-fpm / Dockerfile 容器内部的时区设置不正确(在php容器bash中运行)。如果我在Dockerfile中手动编写区域,那么它将起作用。
问题内容: 假设我有一个普通的SQL过程,其中包含一些参数。 在调试过程中,如果我可以为这些参数分配一些值,这样我就可以突出显示proc的主体并执行它(而不是用值手动替换变量),那将是一个很好的选择。 有什么办法吗?我试过了: 但这不喜欢吗? 问题答案: 尝试 好像您缺少了clarify语句。如果它不喜欢‘2012-03-23’部分,则可能必须强制转换。