注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

拥有自己的梦想,跟随心的召唤

平凡是福

 
 
 

日志

 
 

Linux 下 sh 脚本收集  

2014-07-21 10:27:21|  分类: sh |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
1)文件结构
#!/usr/bin/env bash <--首行
...
exit 0 <--结束行

2)执行.sh文件提示No such file or directory
原因:这是不同系统编码格式引起的:在windows系统中编辑的.sh文件可能有不可见字符,所以在Linux系统下执行会报以上异常信息。
解决方法:
》 windows下的转换: 
利用一些编辑器如 UltraEdit 或 EditPlus 等工具先将脚本编码转换,再放到Linux中执行。转换方式如下(UltraEdit):File-->Conversions-->DOS->UNIX即可。 
》 Linux下的转换: 
确保文件有可执行权限:#chmod u+x filename 
用 vi 修改文件格式:#vi filename 
利用如下命令查看文件格式::set ff 或 :set fileformat 
可以看到如下信息:fileformat=dos 或 fileformat=unix 
利用如下命令修改文件格式::set ff=unix 或 :set fileformat=unix 

3)获取当前时间并格式化
ts=$(date '+%Y-%m-%d %H:%M:%S') <-- 格式为:2014-07-21 09:26:36

4)多重条件判断
if [[ "$name" != "convert" && "$name" != "temp" ]]; then
  ...
fi
==等于、!=不等于

5)判断目录是否存在
if [ ! -d $dir ] <-- 判断目录是否不存在
then
  ...
fi
if [ -d $dir ] <-- 判断目录是否存在
then
  ...
fi

6)获取目录、文件的上级目录
parentDir=${sourceDir%/*}

7)获取目录、文件的名称
name=${dir##*/}

8)递归创建目录
# mkdir -p $dir

9)创建和调用函数
function test(){
  ... <-- 通过 $1、$2、...等获取传入的参数
}
test "a" "b" <-- 多个参数间用空格隔开

10)循坏目录下的文件、子目录
for dir in $myDir/*
do
  if [[ -d $dir ]]; then <-- 处理子目录
    ...
  else <-- 处理文件
    ...
  fi
done

11)取得当前正在执行脚本的绝对路径
root_dir=$(pwd)

参考:
  评论这张
 
阅读(679)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017