shell

shell 脚本如何判断所在目录问题

这是某业务广泛的 QQ 群里的一次讨论,尘光大前辈问起都是怎么获取脚本所在绝对路径。

首先有同学表示可以使用 pwd配合 $0参数,但是很明显脚本执行的时候并不一定在当前 working dir,这就会带来一个明显的问题就是,如果执行的方式是 ./a.sh,那么获取到的$0和 pwd 的结果才是相同的,否则就是不同的:

当然,可以说判断执行的方式,根据判断$0是否是绝对路径等方法可以区分这个情况,但是首先这样就变[……]

Read more

某群有人提到在 Debian 下: sudo cd xxx/ 会提示 sudo: cd: command not found (当然我大 Mac 是直接没有任何效果)

经查 OS X 的 man 手册写道:

实际上 ,执行一个外部程序时,shell 会 fork 一个子进程进行执行,而 cd 不是一个外部程序而是 shell 内建命令,因此 sudo 并不能找到一个叫做 cd 的外部程序执行,也不能作为子进程被执行(子进程不能影响其 shell 的工作目录),因此报 comma[……]

Read more

双开虚拟机,为节省资源想把debian切换到纯命令行模式下,于是init 3,毫无反应,runlevel 显示2 3,这不是已经切换了吗····于是蛋疼,上网查,于是在http://www.cnblogs.com/taosim/articles/2503922.html看到这个——“debian的运行级别与redhat系的那些不一样,在centos中,runlevel 5就是图形界面,3是文本界面,而在debian中,runlevel 2-5都是多用户状态,这几个级别一样的”

顿时蛋疼无比····

 

另摘自http://blog.csdn.net/jinx[……]

Read more