写了首情诗,送给亲爱的:
无论你在何方
我都会与你同在
为的,是要和你说声---我爱你!
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 目录