问题列表 - 第16238页

将变量从一个shell脚本导出到另一个

我有几个脚本,其中第一部分看起来是一样的.该部分的功能是识别脚本在哪台机器上运行并相应地设置几个变量.它看起来像这样:

   ENV=`echo $LOGNAME | cut -c1-8`
if  [ $ENV = "vrt3400b" ]
then
   echo "Using TEST specific settings."
   NAME_PREFIX="tst"
   GROUP_NUMBER=`echo $USER | cut -c4-5`
   GROUP_NUMBER_SUFFIX=00`echo $USER | cut -c8-9`
   ...
elif [ $ENV = "vrp3400a" ]
then
   echo "Using PROD specific settings."
   NAME_PREFIX="prd"
   ...
Run Code Online (Sandbox Code Playgroud)

问题是随着脚本数量的增加,维护小变化的开销变得非常耗时.

我提取了上面的部分并将其放入一个单独的脚本中,然后由所有其他脚本调用.但是变量当然不会转发到其他脚本.尝试过,export NAME_PREFIX="tst"但它没有奏效.

任何人都可以给我一个提示,我应该用哪种方法来解决问题?

我正在考虑让部件识别环境,将属性写入文件,然后将其传递给其他脚本.但似乎必须有一种更直接的方法.

//迈克

shell environment scripting solaris

2
推荐指数
1
解决办法
6579
查看次数

程序员如何跨多台计算机工作?

没有我的笔记本电脑,我总觉得自己几乎没用.它拥有我需要的所有东西,firefox,notpad ++,photoshop,文档等......但偶尔,我喜欢在我的桌面上编码,因为它更快更好,但有时候除非我将网站文件传输给我,否则它是不可能的桌面或保持我的FTP更新.我知道有一些同步解决方案,例如dropbx,但我有兴趣遵循一个好的做法,并对你的专业人士的聪明见解感兴趣.

有时,我甚至没有笔记本电脑,当我在学校时必须编辑某些内容时,我会拔出我的USB驱动器.我设置了带有插件FireFTP的Portable Firefox和带有Notepad ++的FireBug.这就是我喜欢称之为我的网络开发工具包.

更新:关于源代码控制和颠覆的有趣评论,它让我发现DreamHost有颠覆(我打算玩这个).有关阅读材料的建议(关闭或在线)?向我提出任何信息,我不知道要问哪些问题或者要问什么问题,因为我对这一切都不熟悉.先谢谢你们!

version-control performance

9
推荐指数
2
解决办法
2290
查看次数

任何请求上的Supervisord RPC - UNKNOWN_METHOD

我已配置(几乎默认)supervisord.conf并启动了supervisord.已启动任务和xmlrpc接口已启动,但xmlrpclib.Fault: <Fault 1: 'UNKNOWN_METHOD'>即使启动supervisorctl本身,也会提供 evey xmlrpc请求.

日志中有相同的消息:

TRAC XML-RPC method called: supervisor.getAllProcessInfo()
TRAC XML-RPC method supervisor.getAllProcessInfo() returned fault: [1] UNKNOWN_METHOD
TRAC 127.0.0.1:44458 - - [11/Nov/2009:09:51:02 +0300] "POST /RPC2 HTTP/1.1" 200 391
Run Code Online (Sandbox Code Playgroud)

python xml-rpc supervisord

5
推荐指数
1
解决办法
1150
查看次数

Java中的SNMP,专门用作JMX适配器

我有一些使用JMX监视的JAVA应用程序。

我想为这些应用程序编写一个SNMP客户端,它包装了JMX接口,并通过发现公开了通过SNMP在JMX中公开的相同属性。

如果仅弄清楚如何用JAVA编写SNMP客户端,编写客户端就没有问题。我可以使用JAVA的免费SNMP库吗?是否有用于JMX的良好的免费SNMP适配器?(尝试过“ WebNMS SNMP Adapter for JMX”,但未成功)

谢谢!

java jmx snmp

5
推荐指数
1
解决办法
7461
查看次数

CDATA甚至存在的原因是什么?

我经常看到人们在这里询问与XML/XSLT相关的问题,这些问题源于无法掌握CDATA如何工作(就像这一个).

我想知道 - 为什么它首先存在?如果没有它就不能没有XML,你可以放入CDATA部分的所有内容都可以表示为"本机"(XML-escaped).

我很欣赏CDATA可能会使得到的文档变得更小,但让我们面对它 - 无论如何XML都是冗长的.例如,通过压缩可以更轻松地实现小型XML文档.

对我来说,CDATA打破了标记和数据的清晰分离,因为你可以在肉眼看到标记的数据,我觉得这是件坏事.(这甚至可能是鼓励人们不充分地将字符串处理或正则表达式应用于XML的事情之一.)

那么:有什么好的理由可以使用CDATA?

xml xslt cdata

11
推荐指数
2
解决办法
5470
查看次数

将Q和P函数从The Little Schemer翻译成Common Lisp?

在Little Schemer的第9章中,作者提出了以下两个功能

(define Q 
  (lambda (str n) 
    (cond 
      ((zero? (remainder (first$ str ) n)) 
        (Q (second$ str ) n)) 
      (t (build (first$ str ) 
        (lambda ( ) 
          (Q (second$ str ) n))))))) 

(define P
  (lambda (str)
    (build (first$ str)(lambda () (P (Q str (first$ str)))))))
Run Code Online (Sandbox Code Playgroud)

并建议通过以下执行评估它们:

(frontier (P (second$ (second$ int)))  10)
Run Code Online (Sandbox Code Playgroud)

你会如何在Common Lisp中编写P和Q函数?

(我自己翻译了Y-Combinator - 但我发现这个有挑战性)

- 帮助功能 -

(define frontier
  (lambda (str n)
    (cond
      ((zero? n) (quote ()))
        (t (cons (first$ str) (frontier (second$ str) (sub1 n)))))))

(define …
Run Code Online (Sandbox Code Playgroud)

lisp scheme common-lisp the-little-schemer

3
推荐指数
1
解决办法
403
查看次数

如何在 Visual Basic 中使用 while 循环从 StreamReader 中读取数据?

考虑:

Dim line As String
Using readFile As New StreamReader(SalesUpdateFile)

While (line = readFile.ReadLine) IsNot Nothing
Run Code Online (Sandbox Code Playgroud)

我是 Visual Basic 新手。每次我运行此代码时都会出现此错误:

“IS”需要具有引用类型的操作数

我该如何解决这个问题?

vb.net

2
推荐指数
1
解决办法
8008
查看次数

Go中的类似getopt的行为

如何很好地解析程序参数列表并自动处理program [-d value] [--abc] [FILE1]Go中的"--help"和/或"--version"(例如" ")?

go

15
推荐指数
6
解决办法
9774
查看次数

Java:例外

为什么这段代码是正确的:

try {

} catch(ArrayOutOfBoundsException e) {}
Run Code Online (Sandbox Code Playgroud)

这个错了:

try {

} catch(IOException e) {}
Run Code Online (Sandbox Code Playgroud)

这段代码是错误的,因为在try-body中从不IOException抛出,但在第一个体中也永远不会抛出一个ArrayOutOfBoundsException.第一个代码是正确的.为什么??我也可以自己制作例外IOException(必须在捕获之前抛出)吗?

java exception-handling exception try-catch

1
推荐指数
1
解决办法
1318
查看次数

#if定义(WIN32)和#ifdef(WIN32)之间的区别

我正在编译将在linux gcc 4.4.1 C99上运行的程序.

我只是把我的#defines放在一起分开将在windows或linux上编译的代码.但是,我收到了这个错误.

error: macro names must be identifiers.
Run Code Online (Sandbox Code Playgroud)

使用此代码

#ifdef(WIN32)
/* Do windows stuff
#elif(UNIX)
/* Do linux stuff */
#endif
Run Code Online (Sandbox Code Playgroud)

但是,当我更改为此错误时,错误已得到修复:

#if defined(WIN32)
/* Do windows stuff
#elif(UNIX)
/* Do linux stuff */
#endif
Run Code Online (Sandbox Code Playgroud)

我只是想知道为什么我得到了这个错误以及为什么#defines不同?

非常感谢,

c

102
推荐指数
3
解决办法
8万
查看次数