风起 发布的文章

原来ls也可以这样用

一般人都知道, ls是列表文件, ll是详细列表, ls -a是所有的也包括隐藏文件, 但是很少有人知道 ls -A
其实很简单, 看代码:

freebsd# ls -a
.    ..    bin    etc    include    info    lib    libdata    libexec    man    sbin    share    www
freebsd# ls -A
bin    etc    include    info    lib    libdata    libexec    man    sbin    share    www

看出什么来了吧, ls -A不会显示"."和"..", 他们分别代表当前和上级目录, 这个就人尽皆知了

关于php5类里的成员赋值(初始化)

先看代码:

<?php
class a
{
    var $abc = array(
        'a' => 'b',
        'b' => array(
            'a' => array('a' => time())
        )
    );
}
?>

然后再来看php官方文档的介绍:
类的属性

这段代码会报语法错误, 报在time()那里, 然后time()换成字符串, 或者常量, 就没事了.
其实说起来还是我基础不好, 一哥们给我的答案灰常好: "类里面变量的初始化不能是一个表达式".

官方解释的也很透彻: "属性中的变量可以初始化,但是初始化的值必须是常数,这里的常数是指php脚本在编译阶段时就为常数,而不是在编译阶段之后在运行阶段运算出的常数。"

这里time()就是个表达式, 变量同样也是个表达式, 所以会报错.

FreeBSD的错误Enter full pathname of shell or RETURN for /bin/sh

这是我亲身体验的错误, 发生这个错误前我曾非法关机(直接断电源, 惭愧...)
错误界面:

Trying to mount root from ufs:/dev/ad0s1a
/erc/rc.conf : 16 : Syntax error : Unterminated quoted string
Enter full path name of shell or RETURN for /bin/sh:
#

首先我没有去细看错误信息, 当我看到:

Enter full path name of shell or RETURN for /bin/sh:

的时候, 我的第一反应是 path坏鸟, 然后我就动手去改PATH, 可是万恶的bsd一直提示: readonly, 崩溃...

遂baidu, 无果(全都是复制别人的, 还复制错, 甚至我在俩论坛发现一样的帖子, 一样的回答, 不一样的语言, 简体和繁体)
再google, 亦无果;
于是骂娘之余, reboot然后瞅着那个界面半天, 突然发现:

- 阅读剩余部分 -