初写Linux脚本坑记录
1、为变量赋值时=前后一定没有空格。
2、赋值时变量为xx,读取才是$xx。如赋值是$xx,则报语法错误。参考 http://www.jb51.net/article/52375.htm
3、脚本每句话有没有分号;无所谓。
4、分支语句if [ xx==yy ] ; then elif [ yy!=zz ]; then else fi。空格一定要空对,if和then同一行时用;且then前有空格。fi和if,case和ease。参考http://www.cnblogs.com/kangyoung/p/3556173.html
5、变量连接组合成字符串,直接$xx$yy“zz”
6、mkdir -p 是递归建立目录。
7、查找文件里含有xyz的行用grep。按文件名查找用find。两者用xargs打组合拳——可以查找xx命名规则下,包含xx字符的所有行。结果通过管道组成新文件。
8、scp命令可复制远程文件到本地,但需要输入密码。自动输入密码用except,但我本地没好使,下不了except。
9、vim下编辑可以去掉win下多余的换行符。有时会导致unexcept end 错误。用:set fileformat=unix 再:wq。(CRLF变LF)
10、脚本里获取时间用date命令 DATE=$(date +%Y%m%d)。或者Date=`date +%Y-%m-%d`。中间-是字符串可加可不加。参考http://www.cnblogs.com/mfryf/archive/2012/03/23/2413362.html
11、运行脚本时,获取“选项”的输入参数。简单的直接用$1,$2上。$1--第一个参数,$0--命令本身,$#--几个参数,$@--参数数组。更复杂的参考http://www.cnblogs.com/FrankTan/archive/2010/03/01/1634516.html
12、单行注释#(不知为何我的不行?#! /bin/sh)。
多行注释 :<<BLOCK
balalalala
BLOCK
BLOCK只是一个标签。换啥都可以。
初写Linux脚本坑记录的更多相关文章
- 写linux脚本你怎么能不知道位置参数!?
在写shell脚本的时候,我们经常会手动设置参数,然后对我们的输入的这些参数进行处理和分析,那么这个东东到底值怎么使用的呢? 1.$n $0代表命令本身,$1-9代表接受的第1-9个参数,10以上需要 ...
- Linux 踩坑记录
1. Linux系统上用火狐浏览器看视频的时候发现没有安装flash player插件,无法播放视频.简单几步安装插件,就可以快乐地使用linux系统看视频了. 步骤如下: 一.打开视频网站时提示无法 ...
- linux脚本初体验
前言 第一次写linux脚本,有点紧张. 1. 写一个寻找特定用户的脚本文件? #! /bin/sh who | grep $1 其中脚本第一行用来告诉kernel去使用/bin/sh来解释这个脚本: ...
- 使用C#给Linux写Shell脚本(下篇)
在上篇的<使用C#给Linux写Shell脚本>结尾中,我们留下了一个关于C#如何调用BashShell的问题.在文章发布之后,我留意到有读者留言推荐使用“Pash”(一款类PowerSh ...
- Linux踩坑填坑记录
Linux踩坑填坑记录 yum安装失败[Errno 14] PYCURL ERROR 6 - "Couldn't resolve host 'mirrors.aliyun.com'" ...
- 【转】【整理】将Linux脚本中的正常输出,警告,错误等信息输出到文件中
本文来自:http://blog.csdn.net/woshinia/article/details/18040063 很早以前 编译的时候 就在用 2>&1,但是一直没有生成一 ...
- Linux终端回话记录和回放工具 - asciinema使用总结
目前linux终端回放工具常见的就是asciinema和script了, 这两种工具都有那种类似于视频回放的效果.虽然这样做的代价是录制过程中需要占用一定的cpu资源以及录制后可能会因为视频文件太大而 ...
- 你真的了解字典(Dictionary)吗? C# Memory Cache 踩坑记录 .net 泛型 结构化CSS设计思维 WinForm POST上传与后台接收 高效实用的.NET开源项目 .net 笔试面试总结(3) .net 笔试面试总结(2) 依赖注入 C# RSA 加密 C#与Java AES 加密解密
你真的了解字典(Dictionary)吗? 从一道亲身经历的面试题说起 半年前,我参加我现在所在公司的面试,面试官给了一道题,说有一个Y形的链表,知道起始节点,找出交叉节点.为了便于描述,我把上面 ...
- google nmt 实验踩坑记录
最近因为要做一个title压缩的任务,所以调研了一些text summary的方法. text summary 一般分为抽取式和生成式两种.前者一般是从原始的文本中抽取出重要的word o ...
随机推荐
- 关于 diff 和patch
参考: https://blog.csdn.net/zygblock/article/details/53384862 diff和patch是 版本控制 git 的不可缺少的工具 diff 是用来比较 ...
- redis搭建主从复用-读写分离
1:安装redis5.0.3 2:解压到/usr/local/redis 3:在/opt/redis/下创建三个文件夹 data,存放数据的目录 log,存放日志的目录 conf,存放配置的目录 co ...
- vim 翻页命令
整页翻页 ctrl-f:向下翻一页 f含义:forword ctrl-b:向上翻一页 b含义:backward 翻半页 ctrl-d:向下翻半页 d含义:down ctlr-u:向上翻半 ...
- Vue-admin工作整理(十二):Vuex-插件(持久化存储)
Vuex可以支持插件形式,来处理指定业务,比如:持久化存储的插件(当每次刷新浏览器的时候store里面的参数都会被清除,因为它是存在内存中的,而不是存在本地的,有时候我们希望将一些东西存在本地) 插件 ...
- os.remove异常处理
这种情况,正反斜杠都没问题.(windows环境下) 这种情况会出现下列异常 对于目录的形式,把反斜杠改成正斜杠就好了
- xilinx Vivado的使用详细介绍(2):创建工程、添加文件、综合、实现、管脚约束、产生比特流文件、烧写程序、硬件验证
xilinx Vivado的使用详细介绍(2):创建工程.添加文件.综合.实现.管脚约束.产生比特流文件.烧写程序.硬件验证 Author:zhangxianhe 新建工程 打开Vivado软件,直接 ...
- MySQL存储过程 游标
MySQL存储过程 游标 如何在存储过程中使用MySQL游标来遍历SELECT语句返回的结果集 MySQL游标简介 要处理存储过程中的结果集,请使用游标.游标允许您迭代查询返回的一组行,并相应地处理 ...
- Effective java 系列之更优雅的关闭资源-try-with-resources
背景: 在Java编程过程中,如果打开了外部资源(文件.数据库连接.网络连接等),我们必须在这些外部资源使用完毕后,手动关闭它们.因为外部资源不由JVM管理,无法享用JVM的垃圾回收机制,如果我们不在 ...
- C(n,m)排列组合算法
主要解决C(n,m)问题 static class Extension { public static IList<IList<T>> GetGroup<T>(th ...
- WORDPRESS博客完美更换网站空间服务器的方法
更换主机空间的步骤:原主机的所有数据移动至新主机上→修改wp-config.php数据库连接信息 (1)备份原主机全站文件 使用FTP备份网站根目录下所有文件并上传到新主机,向主机客服询问FTP地址. ...