我的测试基本都是在Mac,及Unix环境下测试的,如无特别注明,默认就是Mac 不论你看到这篇随笔是被shell array的奇淫巧技,还是发现shell array就在一对{}里面就可以做那么多勾当,然而记不清楚了,当然有可能发现不管是用$*还是$@数组长度都是1,这可怎么办,还是小白,我就从我碰壁的过程中得到的碎屑整理一二,打通你的任督二脉 Shell是有很多种的 /bin/sh (已经被 /bin/bash 所取代) /bin/bash (就是 Linux预设shell,bash 主要兼容…
参考文献 Shell 教程 MAC常用终端命令行 Mac下Shell脚本使用 1.使用终端创建test.sh: (1)进入指定文件夹路径(命令示例:cd Desktop/面向对象程序设计): (2)创建test.sh文件(命令示例:touch test.sh): (3)创建第一个Shell脚本: #!/bin/bash echo "Hello World!" 注:#! 是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行,即使用哪一种 Shell. echo 命令用于向窗口输出文本…
linux/mac下的自定义命令alias,并保存别名使其永久生效(重启不会失效) 在做开发每次提交代码的命令都是一长串参数,不想去记,于是可以使用alias命令来解决这个问题:alias aCommandAlias='aCommand 一堆参数什么的'比如alias gpush='git push origin HEAD:refs/for/master' 这样在终端中,只需要输入gpush就ok了. 但是只是这样的话,会在重启之后失效,解决办法是编辑~/.bashrc文件,每行加入一个alia…
参考文献 Shell 教程 MAC常用终端命令行 Mac下Shell脚本使用 (7)Shell echo命令: 命令格式:echo string ①显示普通字符串:echo "It is a test"(这里的双引号完全可以省略) ②显示转义字符: #!/bin/sh echo "\"It is a test\"" #同样,双引号也可以省略 结果为:"It is a test" ③显示变量(read命令从标准输入中读取一行,并…
Linux.mac的命令行下没有回收站功能,很多时候手一抖就把重要文件给 rm -fr * 了,虽然linux下有可能通过lost +found/debugfs找回,但难度也比较大,不能保证一定能够找回.人总是会犯错,本人工作这几年也犯过3次rm -fr删除后后悔的错误,与其后悔不如防范于未然,像桌面操作系统(windows.mac os.Ubuntu)一样加个回收站机制就可以了,经过几天的努力终于实现了,放到github上了,欢迎使用. 源码地址:https://github.com/LaiJ…
shell和vim中乱码原因及消除办法 作者:Jack47 在Linux下开发,经常遇到乱码问题:shell或者vim中显示不了中文,或者能够显示,但不能输入中文.每次都是上网去搜,或者同事告诉我一些命令来解决的.一直没有理解为什么会出乱码,本文就是想认真分析乱码问题的原因并找到解决之道.希望本文能够解决像我这样的菜鸟在Linux下shell和vim中遇到的乱码问题.读者们如果读完这篇文章后还是一头雾水,也不要着急[文章角度不同,不同的人的理解程度也不同],可以多看看类似的文章[文末的参考资料]…
习惯Terminal没有不知道ls命令的(等同于DOS的dir),经常只是需要查看目录的内容大小,但ls -h显示的只是目录的本身大小,而且很多项内容 ls 在这方面的两个诟病出现了: 小诟1. 显示的信息很全,我们只提取Size和Name两列,分别是第5和9列 但是发现不对,像Edge的话起码有200G,但是为什么显示的是306B,说明ls只是显示目录的本身大小,不显示内容大小 大诟2. 不显示目录的实际大小,要显示目录(文件夹)的内容大小,需要用到du(disk utility的缩写)来显示…
定义 在Shell的世界里,我们只能定义一维数组. 定义数组的时候不需要指定长度,数组的下标从0开始; Shell 数组用括号来表示,元素用"空格"符号分割开,语法格式如下: shell_array=(value1 ... valuen) 举个栗子: #!/bin/bash # 第一种定义方式 my_array=("a" b "c" d) echo "${my_array[0]}" echo "${my_array[…
对于一些周期性事务,我们可以在Linux下,使用shell脚本调用mysql数据库存储过程,并设置定时任务. 本来是要mysql数据库中创建事件任务来,定时执行存储过程,做数据传输的...使用crontab来定时执行,调用存储过程. 实现这个数据传输分为两步: 第一步:编写shell脚本调用mysql数据库存储过程,如下: #!/bin/bash # & host1=127.0.0.1 user=root passwd=HaoChuangMysql\@2018 port mysql -h${ho…
Linux下安装maven 1.首先到Maven官网下载安装文件,目前最新版本为3.0.3,下载文件为apache-maven-3.3.9-bin.tar.gz,下载可以使用wget命令: 2.进入下载文件夹,找到下载的文件,运行如下命令解压 tar -xvf  apache-maven-2.2.1-bin.tar.gz 解压后的文件夹名为apache-maven-3.0.3 3.使用mv命令将apache-maven-3.0.3文件夹拷贝到自己指定的文件夹,比如/usr/local/下 mv …