MAC 设置环境变量path的几种方法

Mac系统的环境变量,加载顺序为:

/etc/profile
/etc/paths
~/.bash_profile
~/.bash_login
~/.profile
~/.bashrc

/etc/profile和/etc/paths是系统级别的,系统启动就会加载,后面几个是当前用户级的环境变量。

后面3个按照从前往后的顺序读取,如果~/.bash_profile文件存在,则后面的几个文件就会被忽略不读了,如果~/.bash_profile文件不存在,才会以此类推读取后面的文件。

~/.bashrc没有上述规则,它是bash shell打开的时候载入的。

如果没特殊说明,设置PATH的语法都为:

#中间用冒号隔开
export PATH=$PATH:<PATH 1>:<PATH 2>:<PATH 3>:<PATH N>

一、全局设置

下面的几个文件设置是全局的,修改时需要root权限

1)/etc/paths (全局建议修改这个文件 )
编辑 paths,将环境变量添加到 paths文件中 ,一行一个路径
Hint:输入环境变量时,不用一个一个地输入,只要拖动文件夹到 Terminal 里就可以了。

2)/etc/profile (建议不修改这个文件 )
全局(公有)配置,不管是哪个用户,登录时都会读取该文件。

3)/etc/bashrc (一般在这个文件中添加系统级环境变量)
全局(公有)配置,bash shell执行时,不管是何种方式,都会读取此文件。

4)

  1. 创建一个文件:
  2. touch /etc/paths.d/mysql
  3. 用 vim 打开这个文件(如果是以 open -t 的方式打开,则不允许编辑):
  4. vim /etc/paths.d/mysql
  5. 编辑该文件,键入路径并保存(关闭该 Terminal 窗口并重新打开一个,就能使用 mysql 命令了)
    /usr/local/mysql/bin

这样可以自己生成新的文件,不用把变量全都放到 paths 一个文件里,方便管理。

二、单个用户设置

1)~/.bash_profile (任意一个文件中添加用户级环境变量)
(注:Linux 里面是 .bashrc 而 Mac 是 .bash_profile)
若bash shell是以login方式执行时,才会读取此文件。该文件仅仅执行一次!默认情况下,他设置一些环境变量
设置命令别名alias ll=’ls -la’
设置环境变量:

export PATH=/opt/local/bin:/opt/local/sbin:$PATH

2)~/.bashrc 同上

如果想立刻生效,则可执行下面的语句:
$ source 相应的文件
一般环境变量更改后,重启后生效。

nginx开启SSI模块支持shtml/shtm功能

SSI 是 Server Side Include 的首字母缩略词。包含有嵌入式服务器方包含命令的 HTML 文本。在被传送给浏览器之前,服务器会对 SHTML 文档进行完全地读取、分析以及修改。

在 Nginx 中,开启 SSI 支持非常简单,通过向 nginx.conf 中添加几行设置命令即可实现。

将下面的3行代码添加到 nginx.conf 文件的 http{} 段中,以开启 SSI 模块的支持:

ssi on;
ssi_silent_errors on;
ssi_types text/shtml;

放第一个server段的前面

也可以直接在server段里加上

location ~ .*\.(shtm|shtml)?$ {
    ssi on;
    ssi_silent_errors on;
    ssi_types text/shtml;
}

需要注意:
<!–#include file="文件名称"–>
<!–#include virtual="文件名称"–>
file 文件名是一个相对路径,该路径相对于使用 #include 指令的文档所在的目录。
被包含文件可以在同一级目录或其子目录中,但不能在上一级目录中。

如表示当前目录下的的nav_head.htm文档,则为 file=”nav_head.htm”。
virtual 文件名是 Web 站点上的虚拟目录的完整路径。

如表示相对于服务器文档根目录下hoyi目录下的nav_head.htm文件;则为 virtual=”/hoyi/nav_head.htm”

Typecho神奇的is语法

typecho可以使用is语法判断很多东西,比如

$this->is('index');
$this->is('archive');
$this->is('single');
$this->is('page');
$this->is('post');
$this->is('category');
$this->is('tag');

甚至是

$this->is('category', 'default');
$this->is('page', 'start');
$this->is('post', 1);

需要注意的是,后面的参数是分类、页面的缩略名,写法如

<?php if ($this->is('post')) : ?>
    // 这里就是内容了
<?php endif; ?>

Vi/Vim如何添加或删除多行注释

  • 在使用Vi/Vim编辑器对代码或者配置文件编辑的时候,我们经常会需要对多行添加注释或者删除多行的注释。
  1. 进入vi/vim编辑器,按CTRL+V进入可视化模式(VISUAL BLOCK)
  2. 移动光标上移或者下移,选中多行的开头,如下图所示
  3. 选择完毕后,按大写的的I键,此时下方会提示进入“insert”模式,输入你要插入的注释符,例如#
  4. 最后按ESC键,你就会发现多行代码已经被注释了
  5. 删除多行注释的方法,同样 Ctrl+v 进入列选择模式,移到光标把注释符选中,按下d,注释就被删除了。
  • 替换命令
    使用替换命令

:% s/^/#/g 来在全部内容的行首添加 # 号注释
:1,10 s/^/#/g 在1~10 行首添加 # 号注释

Linux命令行编辑器Vi/Vim复制单行多行文字

  1. 单行复制
    在命令模式下,将光标移动到将要复制的行处,按“yy”进行复制;
  2. 多行复制
    在命令模式下,将光标移动到将要复制的首行处,按“nyy”复制n行;其中n为要复制的行数
    如:2yy
    表示复制包括光标所在行往下2行
  3. 粘贴
    在命令模式下,将光标移动到将要粘贴的行处,按“p”进行粘贴

    其他方法:

    1. 在vi命令模式下输入冒号,然后输入复制的起始行号,输入逗号,输入结束行号,输入空格输入co输入空格,输入要粘贴到的行号
      如:6,9 co 12复制第6行至第9行之间的内容,插入到第12行后面。
2. 使用标签来方法光标移到起始行,输入ma光标移到结束行,输入mb光标移到粘贴行,输入mc然后 :'a,'b co 'c   把 co 改成 m 就成剪切了要删除多行的话,可以用 :5, 9 de