shell脚本学习积累笔记(第一篇)
(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脚本学习积累笔记(第一篇)的更多相关文章
- Shell脚本学习指南笔记
Shell脚本学习指南 作者:Danbo 2015-8-3 脚本编程语言与编译型语言的差异 许多中型.大型的程序都是用编译型语言写的,例如:C.C+.Java等.这类程序只要从源代码(Source C ...
- Shell脚本学习指南笔记(一)
脚本语言通常是解释型的,这类程序的运行.是由解释器读入程序代码,并将其转换成内部的形式, 再执行,解释器本身是一般的编译型程序. 第一行的开头处使用#!这两个字符,当内核扫描到改行的其余部分,看是否存 ...
- 【Shell脚本学习指南笔记】重定向文件描述符 2>&1
如: make > results 2>&1 重定向 > results让文件描述符1(标准输出)作为文件results,接下来的重定向2>&1有两个部分.2& ...
- Shell脚本学习 - 运算符
继续shell脚本学习.上一篇是基本数据类型和语法的总结,这一篇是运算相关的操作. 运算符 bash不支持简单的数学计算,需要依赖其他命令实现. expr可以代为实现. # 表达式一般这么写 ` + ...
- 学习笔记之Shell脚本学习指南 & sed与awk & 正则表达式
正则表达式_百度百科 http://baike.baidu.com/link?url=ybgDrN2WQQKN64_gu-diCqdeDqL8LQ-jiQ-ftzzPaNUa9CmgBRDNnyx50 ...
- ActionBarSherlock学习笔记 第一篇——部署
ActionBarSherlock学习笔记 第一篇--部署 ActionBarSherlock是JakeWharton编写的一个开源框架,使用这个框架,可以实现在所有的Android ...
- 笔记——shell脚本学习指南
<shell脚本学习指南>机械工业出版 ISBN 987-7-111-25504-8 第2章 2.4 初级陷阱 1.当今的系统,对#!这一行的长度限制从63到1024个字符都有,尽量不要超 ...
- 转 shell脚本学习指南
shell脚本学习指南 以下八点不敢说就能成为你shell脚本学习指南de全部,至少可以让你编写出可靠的shell脚本. 1. 指定bashshell 脚本的第一行,#!之后应该是什么?如果拿这个问题 ...
- LINUX SHELL脚本攻略笔记[速查]
Linux Shell脚本攻略笔记[速查] 资源 shell script run shell script echo printf 环境变量和变量 pgrep shell数学运算 命令状态 文件描述 ...
随机推荐
- PreferenceActivity 自动保存属性
package com.example.preference; import android.content.Context; import android.os.Bundle; import and ...
- mysql-gdb--oracle
https://blogs.oracle.com/ksplice/entry/8_gdb_tricks_you_should
- Qt全局热键(windows篇)
Qt对于系统底层,一直没有很好的支持,例如串口并口通信,还有我们经常都会用到的全局热键,等等.既然Qt可能出于某种原因,不对这些进行支持,我们就只能自己写代码,调用系统相关的API了. 注意,这个 ...
- 解决 子进程已安装的 post-removal脚本返回了错误号 100 的方法
打开终端: $gksudo nautilus 进入目录: /var/lib/dpkg 删除: info info.bak (文件夹) 重建文件夹: info 之后重新安装 或删除就可以了.
- 认识copy关键
首先先引用阳神Sunny博客中的一道面试题: 用@property声明的NSString(或NSArray,NSDictionary)经常使用copy关键字,为什么?如果改用strong关键字,可能造 ...
- <a>制作按钮
- [RAC] oracle rac 后台进程
一.RAC后台进程 LMON:LOCK Monitor Processes 也被称为Global enqueue service monitor 监控整个集群状况,维护GCS的内存结构 监控非正常终止 ...
- MySQL特殊语法---replace into
MySQL中有这样的SQL语句 1. replace into tbl_name(col_name, ...) values(...) 2. replace into tbl_name(col_nam ...
- verilog中的task用法
任务就是一段封装在“task-endtask”之间的程序.任务是通过调用来执行的,而且只有在调用时才执行,如果定义了任务,但是在整个过程中都没有调用它,那么这个任务是不会执行的.调用某个任务时可能需要 ...
- 推荐几款提高.net编程效率的辅助工具
1.Resharper ReSharper是一个JetBrains公司出品的著名的代码生成工具,其能帮助Microsoft Visual Studio成为一个更佳的IDE.它包括一系列丰富的能大大增加 ...