(1)首先,今天在执行shell脚本./test.sh时抛出“/bin/sh^M: bad interpreter: No such file or directory”的异常,百度后,才知道这是由于不同系统编码格式不同引起的。在windows系统中编辑的.sh文件可能有不可见字符,所以在执行时会抛出上面的异常信息。

解决方法:1,确定文件有执行权限

     2,修改文件格式:

       vi test.sh  使用vi命令准备修改文件格式

       :set ff 或:set fileformat  命令模式下查看文件格式,可以看到如下信息:fileformat=dos或fileformat=unix

       :set ff=unix 或 :set fileformat=unix   修改文件格式

       :wq  存盘退出

     3,这时候再去执行原文件,就不会抛出“/bin/sh^M: bad interpreter: No such file or directory”这个异常了。

(2)java -cp/java -classpath  指定类运行所依赖其他类的路径,通常是类库、jar包之类的。

  注意:windows上是;分隔,linux上是以:分隔的,其中.代表当前路径。

  classp1=/project/projectName/bin
  ssp=.:$classp1/lib/*:$classp1
  java -cp $ssp

java -cp $ssp -Ddefault.client.encoding="GBK" -Dfile.encoding="GBK" -Duser.language="Zh" -Duser.region="CN" com/test/TestHello

(3) linux命令:date

  date -d 通过将日期作为引号括起来作为参数提供,可以快速查明一个特定的日期。

  date -d yesterday '+%Y%m%d'  显示当天时间的前一天:20151116

  date -d '30 days ago' '+%Y%m%d'  当前时间的前30天:20151018

  date -d '50 days' '+%Y%m%d' 50天后:20160106

  dates=`date -d yesterday '+%Y%m%d'`

(4)定时执行脚本:crontab -l 查看当前用户下的定时任务列表

          crontab -e 编辑定时任务,和vi命令一样,有命令模式和编辑模式

      

      

shell脚本学习积累笔记(第一篇)的更多相关文章

  1. Shell脚本学习指南笔记

    Shell脚本学习指南 作者:Danbo 2015-8-3 脚本编程语言与编译型语言的差异 许多中型.大型的程序都是用编译型语言写的,例如:C.C+.Java等.这类程序只要从源代码(Source C ...

  2. Shell脚本学习指南笔记(一)

    脚本语言通常是解释型的,这类程序的运行.是由解释器读入程序代码,并将其转换成内部的形式, 再执行,解释器本身是一般的编译型程序. 第一行的开头处使用#!这两个字符,当内核扫描到改行的其余部分,看是否存 ...

  3. 【Shell脚本学习指南笔记】重定向文件描述符 2>&1

    如: make > results 2>&1 重定向 > results让文件描述符1(标准输出)作为文件results,接下来的重定向2>&1有两个部分.2& ...

  4. Shell脚本学习 - 运算符

    继续shell脚本学习.上一篇是基本数据类型和语法的总结,这一篇是运算相关的操作. 运算符 bash不支持简单的数学计算,需要依赖其他命令实现. expr可以代为实现. # 表达式一般这么写 ` + ...

  5. 学习笔记之Shell脚本学习指南 & sed与awk & 正则表达式

    正则表达式_百度百科 http://baike.baidu.com/link?url=ybgDrN2WQQKN64_gu-diCqdeDqL8LQ-jiQ-ftzzPaNUa9CmgBRDNnyx50 ...

  6. ActionBarSherlock学习笔记 第一篇——部署

    ActionBarSherlock学习笔记 第一篇--部署          ActionBarSherlock是JakeWharton编写的一个开源框架,使用这个框架,可以实现在所有的Android ...

  7. 笔记——shell脚本学习指南

    <shell脚本学习指南>机械工业出版 ISBN 987-7-111-25504-8 第2章 2.4 初级陷阱 1.当今的系统,对#!这一行的长度限制从63到1024个字符都有,尽量不要超 ...

  8. 转 shell脚本学习指南

    shell脚本学习指南 以下八点不敢说就能成为你shell脚本学习指南de全部,至少可以让你编写出可靠的shell脚本. 1. 指定bashshell 脚本的第一行,#!之后应该是什么?如果拿这个问题 ...

  9. LINUX SHELL脚本攻略笔记[速查]

    Linux Shell脚本攻略笔记[速查] 资源 shell script run shell script echo printf 环境变量和变量 pgrep shell数学运算 命令状态 文件描述 ...

随机推荐

  1. PreferenceActivity 自动保存属性

    package com.example.preference; import android.content.Context; import android.os.Bundle; import and ...

  2. mysql-gdb--oracle

    https://blogs.oracle.com/ksplice/entry/8_gdb_tricks_you_should

  3. Qt全局热键(windows篇)

      Qt对于系统底层,一直没有很好的支持,例如串口并口通信,还有我们经常都会用到的全局热键,等等.既然Qt可能出于某种原因,不对这些进行支持,我们就只能自己写代码,调用系统相关的API了. 注意,这个 ...

  4. 解决 子进程已安装的 post-removal脚本返回了错误号 100 的方法

    打开终端: $gksudo nautilus 进入目录: /var/lib/dpkg 删除: info info.bak (文件夹) 重建文件夹: info 之后重新安装 或删除就可以了.

  5. 认识copy关键

    首先先引用阳神Sunny博客中的一道面试题: 用@property声明的NSString(或NSArray,NSDictionary)经常使用copy关键字,为什么?如果改用strong关键字,可能造 ...

  6. <a>制作按钮

  7. [RAC] oracle rac 后台进程

    一.RAC后台进程 LMON:LOCK Monitor Processes 也被称为Global enqueue service monitor 监控整个集群状况,维护GCS的内存结构 监控非正常终止 ...

  8. MySQL特殊语法---replace into

    MySQL中有这样的SQL语句 1. replace into tbl_name(col_name, ...) values(...) 2. replace into tbl_name(col_nam ...

  9. verilog中的task用法

    任务就是一段封装在“task-endtask”之间的程序.任务是通过调用来执行的,而且只有在调用时才执行,如果定义了任务,但是在整个过程中都没有调用它,那么这个任务是不会执行的.调用某个任务时可能需要 ...

  10. 推荐几款提高.net编程效率的辅助工具

    1.Resharper ReSharper是一个JetBrains公司出品的著名的代码生成工具,其能帮助Microsoft Visual Studio成为一个更佳的IDE.它包括一系列丰富的能大大增加 ...