自己实现的shell算法,参考Cprogramlanguage里面的