关于shell脚本如何利用mkdir创建路径时忽略大小写的问题?

#!/bin/shpath="aa/bb/cc/dd"mkdir-p$path以上比方说我有一条(变量)路径path,把这个变量给到mkdir来创建,但是跟bb同一级的还... #!/bin/sh
path="aa/bb/cc/dd"
mkdir -p $path
以上比方说我有一条(变量)路径path,把这个变量给到mkdir 来创建,但是跟bb同一级的还有个文件夹BB,这时我不想让它创建bb,而是直接在BB文件夹下创建cc,最后创建的路径是 aa/BB/cc/dd ,就是说让它在创建的过程中忽略大小写!
请问哪位shell高手帮帮忙!谢谢!
展开
 我来答
百度网友4520e290d
2011-01-20 · TA获得超过1488个赞
知道小有建树答主
回答量:436
采纳率:0%
帮助的人:426万
展开全部
可以用如下方法:
步骤1:
取得path路径的最前端路径(可用awk或sed语句)
(需要保证这个路径的大小写正常,如果不正常,需要再往前一级目录)
这里取到的是aa
步骤2:
取得path路径的除最后需要建的目录以外的路径(可用awk或sed语句)
这里取得的是aa/bb/cc
步骤3:
使用find命令查找这个路径
find aa -ipath aa/bb/cc
这样就会输出真实的路径,
此外,如果路径不存在或者有其他冗余信息或者存在多条,
可以在后面接一个grep语句(忽略大小写的)得到真实的路径,一般选择第一条吧
完整命令这样写
find aa -ipath aa/bb/cc | grep -izZ aa/bb/cc
步骤3:
用最后得到路径建立文件夹
mkdir -p "最后得到的路径/需要建的文件夹"
sslnhhf2
2011-01-21
知道答主
回答量:9
采纳率:0%
帮助的人:0
展开全部
unix是严格区分大小写的,加上mkdir命令是没有忽略大小写的参数,不妨用下面的脚本吧,也是可以实现你的功能
#!/bin/sh
path="aa/bb/cc/dd"
path2="aa/BB"
if [ -d $path2 ]
then
mkdir -p aa/BB/cc/dd
else
mkdir -p $path
fi
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zb980h
2011-01-20 · TA获得超过1206个赞
知道小有建树答主
回答量:1111
采纳率:0%
帮助的人:387万
展开全部
用tolowercase对象
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式