看见论坛有人问,就写了一个小函数
/home/lee/#typeset -f
mk ()
{
p=$(pwd);
n=${p//[a-zA-Z0-9]/};
[[ ${#n} -lt 10 ]] && mkdir $1 || echo You can not creat directory
}
test引用:
/home/lee#alias mkdir='mk'
/home/lee#mkdir a
/home/lee#cd a
/home/lee/a#ls
/home/lee/a#mkdir b
/home/lee/a#cd b
/home/lee/a/b#mkdir c
/home/lee/a/b#cd c
/home/lee/a/b/c#mkdir d
/home/lee/a/b/c#cd d
/home/lee/a/b/c/d#mkdir e
/home/lee/a/b/c/d#cd e
/home/lee/a/b/c/d/e#mkdir 1
/home/lee/a/b/c/d/e#cd 1
/home/lee/a/b/c/d/e/1#mkdir 2
/home/lee/a/b/c/d/e/1#cd 2
/home/lee/a/b/c/d/e/1/2#mkdir a1
/home/lee/a/b/c/d/e/1/2#cd a1
/home/lee/a/b/c/d/e/1/2/a1#mkdir a2
You can not creat directory
bash
[ 本帖最后由 寂寞烈火 于 2005-12-24 18:18 编辑 ]
wayy2008 回复于:2005-12-25 19:51:30
我顶!
sunmoon1997 回复于:2005-12-27 19:18:27
这样要好一点:
mk ()
{
p=$(pwd);
n=${p//[^/]/};
[[ ${#n} -lt 10 ]] && mkdir $1 || echo You can not creat directory
}
小渔儿 回复于:2005-12-28 09:10:48
${p//[a-zA-Z0-9]/}这是什么意思啊,我知道最后结果是保留/,是去除所有的非/ 字符吗
寂寞烈火 回复于:2005-12-28 12:08:26
引用:原帖由 sunmoon1997 于 2005-12-27 19:18 发表
这样要好一点:
mk ()
{
p=$(pwd);
n=${p//[^/]/};
[[ ${#n} -lt 10 ]] && mkdir $1 || echo You can not creat directory
}
嗯,多谢提示 
|