我有一些Unix shell脚本,我需要在开始做之前检查某些环境变量是否已设置,所以我做了这样的事情:
if [ -z "$STATE" ]; then
echo "Need to set STATE"
exit 1
fi
if [ -z "$DEST" ]; then
echo "Need to set DEST"
exit 1
fi
Run Code Online (Sandbox Code Playgroud)
这是很多打字.是否有更优雅的习惯用于检查是否设置了一组环境变量?
编辑:我应该提到这些变量没有有意义的默认值 - 如果有任何未设置,脚本应该出错.
如果我想分配一个char数组(在C中),保证它足够大以容纳任何有效的绝对路径+文件名,它需要多大.
在Win32上,有MAX_PATH定义.Unix/linux的等价物是什么?
作为一般规则,我更喜欢在C++中使用值而不是指针语义(即使用vector<Class>而不是代替vector<Class*>).通常,由于不必记住删除动态分配的对象,因此性能的轻微损失可以弥补.
遗憾的是,当您想要存储所有派生自公共基础的对象类型时,值集合不起作用.请参阅下面的示例.
#include <iostream>
using namespace std;
class Parent
{
public:
Parent() : parent_mem(1) {}
virtual void write() { cout << "Parent: " << parent_mem << endl; }
int parent_mem;
};
class Child : public Parent
{
public:
Child() : child_mem(2) { parent_mem = 2; }
void write() { cout << "Child: " << parent_mem << ", " << child_mem << endl; }
int child_mem;
};
int main(int, char**)
{
// I can have a polymorphic …Run Code Online (Sandbox Code Playgroud) 我想编写一个sh/bash脚本,可以确定特定目录是否是NFS文件系统的挂载点.
例如
$ mkdir localdir
$ mkdir remotedir
$ mount host:/share ./remotedir
$ classify_dirs.sh
--> localdir is local
--> remotedir is an NFS mount point
Run Code Online (Sandbox Code Playgroud) 当我把我UISearchBar要minimal style在iOS7,当我选择它的色调变成黑色,而文字是不可能的阅读,因为有黑色的黑色.
这不会产生预期的结果.选中时色调仍然是黑色的......
if(floor(NSFoundationVersionNumber) > NSFoundationVersionNumber_iOS_6_1)
{
// set bar style
_sendToSearchBar.barStyle = UIBarStyleDefault;
// set bar transparancy
_sendToSearchBar.translucent = NO;
// set bar color
_sendToSearchBar.barTintColor = [UIColor whiteColor];
// set bar button color
_sendToSearchBar.tintColor = [UIColor whiteColor];
// set bar background color
_sendToSearchBar.backgroundColor = [UIColor whiteColor];
}
Run Code Online (Sandbox Code Playgroud)

我正在寻找在将字符串写入XML文件之前从字符串中删除无效字符的标准,批准和强大的方法.我在这里谈论的是包含退格(^ H)和换页字符等的文本块.
有有成为这样一个标准库/模块的功能,但我不能找到它.
我正在使用XML :: LibXML构建一个DOM树,然后我将其序列化到磁盘.
我有一个log4J设置,其中根记录器应该将ERROR级别消息和上面的消息记录到控制台,另一个记录器将所有内容记录到syslog中.
log4j.properties是:
# Root logger option
log4j.rootLogger=ERROR,R
log4j.appender.R=org.apache.log4j.ConsoleAppender
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%d %p %t %c - %m%n
log4j.logger.SGSearch=DEBUG,SGSearch
log4j.appender.SGSearch=org.apache.log4j.net.SyslogAppender
log4j.appender.SGSearch.SyslogHost=localhost
log4j.appender.SGSearch.Facility=LOCAL6
log4j.appender.SGSearch.layout=org.apache.log4j.PatternLayout
log4j.appender.SGSearch.layout.ConversionPattern=[%-5p] %m%n
Run Code Online (Sandbox Code Playgroud)
在代码我做
private static final Logger logger = Logger.getLogger("SGSearch");
.
.
.
logger.info("Commencing snapshot index [" + args[1] + " -> " + args[2] + "]");
Run Code Online (Sandbox Code Playgroud)
发生的事情是我获得了所有日志记录级别的控制台日志记录.似乎正在发生的事情是,SGSearch的级别会以某种方式覆盖根记录器的级别设置.我无法弄清楚.
我已经确认Log4J正在读取我认为的属性文件,而没有其他(通过-Dlog4j.debug选项)
我们一直在开发Ruby on Rails应用程序.我们最近在使用HTTPS的Apache代理后面重新部署了此应用程序.
自从我们完成此操作后,我们的一位用户在尝试使用该应用时会被发送到以下页面:http://shell.windows.com/fileassoc/mimeassoc.asp?mime = text/javascript,其中说:
MIME Type: text/javascript
Description: UnKnown
Windows does not recognize this MIME type.
Run Code Online (Sandbox Code Playgroud)
有谁知道在什么情况下IE会声称不知道如何处理text/javascript文件?到目前为止,这只是一个用户.
Windows 7/IE 8和XPsp2/IE8
编辑添加IE barfs的完整HTTP响应
HTTP/1.1 200 OK
Date: Mon, 24 Oct 2011 00:31:27 GMT
Server: Apache/2.2.3 (CentOS)
X-Powered-By: Phusion Passenger (mod_rails/mod_rack) 3.0.9
ETag: "a6d7d64e3ca943eabc73db920baa7d76"
Cache-Control: max-age=0, private, must-revalidate
X-UA-Compatible: IE=Edge,chrome=1
X-Runtime: 0.003257
Status: 200
Content-Type: text/javascript; charset=utf-8
Connection: close
window.location.href='https://xx.xx.org.au/AED/sessions/new'
Run Code Online (Sandbox Code Playgroud) 我在char []数组中有大量的二进制数据,我需要将其解释为打包的6位值数组.
我可以坐下来写一些代码来做这件事,但我认为必须有一个好的现存的类或函数已经有人写过.
我需要的是:
int get_bits(char* data, unsigned bitOffset, unsigned numBits);
Run Code Online (Sandbox Code Playgroud)
所以我可以通过调用以下方法获取数据中的第7个6位字符:
const unsigned BITSIZE = 6;
char ch = static_cast<char>(get_bits(data, 7 * BITSIZE, BITSIZE));
Run Code Online (Sandbox Code Playgroud) 我正在研究为Kik Messenger应用程序内浏览器开发网页需要什么,我对开发工作流程应该如何工作感到困惑.
该API文档说,"要启动您在Kik的网页只要打开URL中的侧边栏和类型到您的网页." ,除了在应用程序的当前版本中不再存在"侧边栏"并且似乎不再可能输入任意URL(*)之外,这将是正常的.
*编辑:看起来您可以在浏览器中打开任意URL,方法是将其输入聊天,然后点击它.
鉴于这些限制,人们如何使用应用程序测试他们的网页?在部署之前,您是否只需使用Chrome扩展程序?
相关问题:如何让Kik知道您的网页?此站点上的其他一些问题意味着您必须等待其Web爬网程序对其进行索引.是这样的吗?如果是这样,这究竟是如何在任何地方记录的?我觉得我错过了一条文档链接.