如何在Mac OS X 10.9中设置永久环境variables(即,每次启动新的terminal会话时不需要导出的环境variables)? 我find了很多关于修改我的.bash_profile和.profile的答案,但是这些选项似乎都不是永久解决scheme – 只是暂时的。 我试图设置的variables是MULE_HOME 。 我在我的bashconfiguration文件中有以下行: export MULE_HOME=$(/opt/mule-standalone-3.4.0) 但是,当我启动terminal我得到以下行(不知道这是否是正常行为?): -bash: /opt/mule-standalone-3.4.0: is a directory 并运行一个简单的env命令返回以下内容: TERM_PROGRAM=Apple_Terminal SHELL=/bin/bash TERM=xterm-256color TMPDIR=/var/folders/fc/68bqp4jj411gynj5qvwhq6z1shs1fy/T/ Apple_PubSub_Socket_Render=/tmp/launch-xKtkql/Render TERM_PROGRAM_VERSION=326 TERM_SESSION_ID=E97BFE4B-AF85-4933-B252-0883CC085349 USER=dan SSH_AUTH_SOCK=/tmp/launch-rEmTWW/Listeners __CF_USER_TEXT_ENCODING=0x730C85DE:0:0 PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin __CHECKFIX1436934=1 PWD=/Users/dan JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home LANG=en_GB.UTF-8 MULE_HOME= SHLVL=1 HOME=/Users/dan LOGNAME=danwiseman _=/usr/bin/env 为了解决这个问题,我现在每次开始一个新的terminal会话时,都要export MULE_HOME=/opt/mule-standalone-3.4.0 ,虽然不费劲,但是有点不方便。 我在这里做错了什么,导致variables只能被临时设置? 提前致谢。
我想将一个pythonvariables名称转换为相应的string,如图所示。 任何想法如何? var = {} print ??? # Would like to see 'var' something_else = 3 print ??? # Would print 'something_else'
我已经在PHP中编写了多年的个人脚本,习惯closures错误显示。 我即将发布一些这些脚本,并希望以正确的方式进行操作。 我closures错误显示的唯一原因是为了避免在使用isset()之前testing每一个var。 所以,这是我的问题: 有没有比这更好的方法来宣布多个variables? <?php // at the begining of my main file if (!isset($foo)) ($foo = ''); if (!isset($bar)) ($bar = ''); if (!isset($ping)) ($ping = ''); if (!isset($pong)) ($pong = ''); // etc. for every single var ?> 比如这样的东西: <?php var $foo, $bar, $ping, $pong; ?>
首先,我想说我是C / C ++的新手,我最初是一名PHP开发人员,所以我习惯于以任何我喜欢的方式滥用variables。 C是一个严格的国家,编译器不是很喜欢我这里,我习惯于违反规则去完成任务。 无论如何,这是我的一段简单的代码: char IP[15] = "192.168.2.1"; char separator[2] = "||"; puts( separator ); 输出: ||192.168.2.1 但是,如果我将separator的定义更改为: char separator[3] = "||"; 我得到所需的输出: || 那么为什么我需要给这个男人额外的空间,所以他不和他之前的男人睡觉?
当我想要使用在函数之外声明的variables时,是否有最佳实践/build议? global $myVar $GLOBALS['myVar'] 谢谢。
我知道,一般来说,全局variables是可以避免的。 尽pipe如此,我认为从实际意义上讲,使用它们有时是可取的(在variables是程序中不可或缺的部分)。 为了学习Rust,我正在使用sqlite3和GitHub上的Rust / sqlite3包编写一个数据库testing程序。 因此,必须(在我的testing程序中)(作为全局variables的一种替代方式),在大约十几个函数之间传递数据库variables。 下面是一个例子。 在Rust中使用全局variables是否可行也是可行的? 鉴于下面的例子,我可以声明和使用全局variables吗? extern crate sqlite; fn main() { let db: sqlite::Connection = open_database(); if !insert_data(&db, insert_max) { return; } } 我尝试了以下,但它似乎不是很正确,并导致下面的错误(我也尝试了一个unsafe块): extern crate sqlite; static mut DB: Option<sqlite::Connection> = None; fn main() { DB = sqlite::open("test.db").expect("Error opening test.db"); println!("Database Opened OK"); create_table(); println!("Completed"); } // Create Table fn […]
好的,在任何人试图确定这是一个“重复”的问题之前, 我已经回顾了大多数关于类似问题的SO上的post,但即使是所有的说法,我仍然有点困惑于决定性的问题,或者我应该就此一致同意。 但是我可以说我(根据职位)确定地确定答案是基于要求的范围。 但即使考虑到这一点,对于我如何处理这个问题,我的意见也显得太多了。 我的直接要求是,我需要从1个控制器中存储多个视图的可变数据。 更具体地说,我有一个控制器和相应的视图,处理购物车项目计数,我想坚持在多个视图的数据。 我在想,_layout视图是这个最合乎逻辑的select。 现在我已经成功地完成了这个任务,将值赋给一个从我的_layout视图中获取的Sessionvariables; 因此,即使用户在网站内的任何位置导航,购物车中的商品数量也会一直存在,直到他们离开网站或完成结帐; 在这种情况下,variables将在代码中清除。 我读过的post似乎有偏见,要么偏离会话variables,而是支持Cookies并将数据存储在数据库中; 或者说为了我打算使用它们的目的,Sessionvariables是完全可以使用的。 我读过的另一件事表明,如果由于信息存储在服务器上,网站上的stream量很高,会话variables可能会阻碍整体性能。 我个人不能certificate将这种types的信息存储在数据库中,然后敲击数据库,我想这可能会影响网站的性能,对于存储临时数据似乎有点矫枉过正。 TempData,ViewData和ViewBag在保存数据时不起作用,因此它们不是IMO要求的合乎逻辑的select。 如果还有另一个适用于Sessionvariables的替代方法(这对我来说很合适),我想知道它是什么。 2个提供最好build议似乎相互矛盾的post让我有些困惑。 缺点: 避免在ASP.NET MVC中使用会话状态是一个好习惯吗? 如果是,为什么和如何? 优点: 仍然可以在ASP.NET mvc中使用会话variables,或者有一些更好的select(如购物车) 似乎这个问题(尽pipe提出了许多不同的变化)没有我可以总结的明确答案。 如果有更好的方法来完成这个没有过度杀伤,那么这就是我正在寻找的答案。 我同时在Global.ascx应用程序开始部分看到了MVCfilter的使用,但是这对于在控制器级别设置的variables和静态variables可能不太合适。 有人可能会对这个话题提出许多不同的意见,也许会提供一个更确定的答案吗? 我敢肯定,不同的意见有其自己的位置,我不是企图抹黑他们。 但有一个明确的,可能是一致的答案会更好; 那么我可以通过其他职位来确定什么是最适合我的应用程序。 当然,如果这个问题没有确定的答案, 只要告诉我,我会尝试从其他职位得到我自己的答案。 谢谢 ================================================== ========= 对答复提供了更新的回应 caching和cookies似乎是从响应的一般偏好,但是我也注意到caching它不是一个理想的候选人跨多个Web服务器使用的声明,因为同步可能是一个潜在的问题。 对Tim的评价是,数据库存储已经过优化,用户可以select稍后返回并继续他们离开的地方。 这是一个很好的观点,但要高瞻远瞩。 这可能是合理的,因为有些用户可能不会在数据库中留下不必要的数据。 因此,为了保持数据库的优化和清洁(这对我而言是同等重要的),需要执行维护任务,根据设定的时间阈值自动使这些logging到期以考虑这些情况。 虽然维护任务不是一个不容置疑的select,但我仍然认为这仅仅是为了作为临时存储的目的而增加了一点工作。 尽pipe如此,我还是尊重蒂姆的build议,并认为在一定程度上反驳我的初步意见是值得的。 数据库似乎不是存储临时数据的可行scheme; 所以我认为妥协可能是将数据存储在数据库中(或者在购物车或类似的情况下)或许在结账之后。 就像您之前所说的那样,随后的访问可能会持续跟踪数据,因此您有交易logging。 但更重要的是,这些交易的数据与数据库保持真正的相关性。 还有人表示,尽pipeSession比数据库快, 但是尽pipe有一些警告,可以在某种程度上被其他机制所缓解,例如利用SessionStateBehavior属性,只是作为一个例子。 但是……我认为Erik用Dunning-Kruger效应开了点家。 虽然从这里给出的答案的内容和解释, 我严重怀疑任何回应者的专业知识都是有问题的。 尽pipe如此,我倾向于认同获得一致意见的事实可能比我的预期要高一些。 我更特别要寻找的是能够舒适地适应多种情况的技术的普遍共识。 […]
如果你*declarator*s in §8/4查看*declarator*s in §8/4语法,你会发现noptr-declarator可以写成( ptr-declarator ),也就是说,它可以写成( declarator-id ),validation标题中的声明。 事实上,这个代码编译没有问题: #include <iostream> struct A{ int i;}; int (x) = 100; A (a) = {2}; int main() { std::cout << x << '\n'; std::cout << ai << '\n'; } 但是,当指针(到数组或函数)不在声明中时,允许这些括号的目的是什么 ?
如何从ant脚本中设置path环境variables
有没有一种方法来定义临时表,而无需事先定义它的模式?