ITPub博客

首页 > 数据库 > Oracle > 循序渐进SHELL编程:写一首情诗,送给亲爱的你

循序渐进SHELL编程:写一首情诗,送给亲爱的你

原创 Oracle 作者:幕南风 时间:2014-07-03 13:43:06 0 删除 编辑

       写了首情诗,送给亲爱的:
        
         无论你在何方
         我都会与你同在
         为的,是要和你说声---我爱你!
        
       Shell Scripts翻译如下:

 

#!/bin/sh
mkdir -p /where/ever/you
location=/where/ever/you
[ "${location:0:1}" = "/" ] || location=$PWD/$location
while [ -e $location ]
do
    cd ${location%/*}
    echo "I love you!"
done


       注释:

 

#!/bin/bash
# 可人儿啊,请告知你的位置
location=/where/ever/you
# 无论如何艰辛,我都会寻找你的坐标
[ "${location0:1}" = "/" ] || location=$PWD/$location # [注一]

# 假如你是存在的...
while [ -e $location ]
do
# 让我与你在一起
    cd ${location%/*}  # [注二]
# 让我跟你说声---我爱你﹗
    echo "I love you!"
done


 

       [注一]:


             ${var0:1} 是只截取变量值的第一个子母,那 [ "${location0:1}" = "/" ] 是要看路径是否以 / 开头
             也就是检查路径是否为绝对路径。
             || location=$PWD/$location 则是说,若不是绝对路径的话,则将当前路径加在路径之前,而使其成为绝对路径
    
       [注二]:


             ${var%pattern} 是要将变量值中 pattern 的最短匹配拿掉,那么 cd ${location%/*} 就是要 cd 到最后一个目录
             以 /where/ever/you 为例,则是要 cd /where/ever 目录

<!-- Baidu Button BEGIN -->

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/26515977/viewspace-1207954/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: PL/SQL每日一题:CASE语句和CASE表达式的区别
下一篇: 编写健壮的PL/SQL代码(一):同字段同类型、%TYPE、SUBTYPE
请登录后发表评论 登录
全部评论
腾讯数据库工程师

注册时间:2012-05-10

最新文章