第一篇博客与写的第一个shell脚本

工作快两年了,来cnblogs也快两年了,嗑嗑碰碰,也好歹入了程序猿大军。

终于开通了博客(别笑,肚子墨水太少,都是看大神们的学的)。

也不知道写些什么。

前段时间才攒钱入手了一台pro,都说mac才是程序猿们的趁手兵器,使用了一段时间,果真 趁手,哈哈,不得不说苹果对产品体验的把控。

osx感觉跟linux很像,大神勿喷,我上次这么说我同学劈头盖脸就驳过来了,说unix和linux完全是两个不同的方向,我也不太明白,反正我用着就感觉挺像的,哈哈,所以我也只能说感觉了,有了解大神望教导一下。

公司是用windows开发的,不过以后还是想在linux下作开发,于是又找了本shell编程的书来啃。osx上没有ll命令,不想老是ls -al,刚好学了一下简单的脚本编写,就写写为自己的mac编写ll命令的过程吧。

像这种常用的命令,当然不想每次进入shell还要到其目录或者输入完整的路径执行了,所以我先为自己建了一个bin目录

mkdir ~/bin
chmod -R 777 ~/bin

然后在用户目录下新建了 .bash_profile 文件,将并其bin加入环境变量

vim ~/.bash_profile
#在.bash_profile 中添加 
    export PATH="${PATH}:~/bin"

好了,开始干正事,以后自己写的shell脚本都扔到 ~/bin 目录下吧

touch ll
chmod 777 ll

然后在ll 写入

#!/bin/bash

#没有参数就执行ls -al
if [ $# -ge 1 ] 
then
        #第一个参数为 -* 就执行ls 加上所有参数,否则就执行ls -al 加上参数
        if [[ $1 == -* ]]
        then
                ls $*
        else
                ls -al $1       
        fi
else
        ls -al
fi


保存退出,看看结果

wuxins-MacBook-Pro:bin wuxin$ ll -a ~/bin
.        ll        mysql        sj
..        loginlog    mysqld
wuxins-MacBook-Pro:bin wuxin$ ll  ~/bin
total 40
drwxr-xr-x   7 wuxin  staff   238 12  3 11:33 .
drwxr-xr-x+ 30 wuxin  staff  1020 12 13 12:57 ..
-rwxrwxrwx   1 wuxin  staff   125 12  3 11:29 ll
-rwxrwxrwx   1 wuxin  staff    70 11 30 20:46 loginlog
lrwxr-xr-x   1 wuxin  staff    26 11 27 18:10 mysql -> /usr/local/mysql/bin/mysql
lrwxr-xr-x   1 wuxin  staff    27 11 27 18:10 mysqld -> /usr/local/mysql/bin/mysqld
-rwxrwxrwx   1 wuxin  staff    50 11 27 18:40 sj
wuxins-MacBook-Pro:bin wuxin$ ll
total 40
drwxr-xr-x   7 wuxin  staff   238 12  3 11:33 .
drwxr-xr-x+ 30 wuxin  staff  1020 12 13 12:57 ..
-rwxrwxrwx   1 wuxin  staff   125 12  3 11:29 ll
-rwxrwxrwx   1 wuxin  staff    70 11 30 20:46 loginlog
lrwxr-xr-x   1 wuxin  staff    26 11 27 18:10 mysql -> /usr/local/mysql/bin/mysql
lrwxr-xr-x   1 wuxin  staff    27 11 27 18:10 mysqld -> /usr/local/mysql/bin/mysqld
-rwxrwxrwx   1 wuxin  staff    50 11 27 18:40 sj

哈哈,我在也不用输入ls -al 去查看目录所有文件了。

意义上的第一个shell脚本,虽有不足之处,待日后改进。

做些有意义的事。

 

 

 

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。