shell脚本学习(1)入门
1脚本语言和编译型语言的区别:编译型的要从源码转换成目标代码,多运行于底层。脚本语言有解释器读入程序代码, 转成内部形式再执行。
2脚本语言,写的时间快,一般有awk,pwel, python Ruby和shell
3 使用who 和 wc算登录人数
4 用cat创建文件, 写入程序,修改权限,执行程序
5 创建shell脚本,
#! 用来提示内核扫描其他部分, 是否存在执行程序的解释器的完整路径
#! /bin/csh -f cshell的解释器
shell 脚本通常开头是
#! /bin/sh
6 shell 识别3中基本命令
内建命令:cd read echo 等
shell函数:功能健全的一系列代码
外部命令 :用新进程执行shell的副本
7 变量名定义同c语言变量的语法
8 变量赋值
first=isaac middle=bashevis last=singer
9 变量的值获取,在变量名 前加$
fullname="$first $middle $last"
10 echo , printf输出
echo “enter 有人name”
printf“first program '%s, %s' \n" hello world
11 重定向和管道
用<改变标准输入 (输入file中数据当做缓存数据, 删除缓存中的 ‘回车’符号)
tr -d '\r\n' < file.txt
用>改变标准输出 (输入file中数据当做缓存数据, 删除缓存中的 ‘回车’符号, 输出修改后的数据到 dest_file)
tr -d '\r\n' <file.txt > dest_file.txt
用>>附加到文件中 (输入file中数据当做缓存数据, 删除缓存中的 ‘回车’符号, 输出修改后的数据到 dest_file尾部, 如果dest_file不存在,就创建一个)
tr -d '\r\n' <file.txt >> dest_file.txt
用 | 建立管道, 能把两个执行程序连接到一起, 程序1的结果作为程序 2的输入
(输入file中数据当做缓存数据, 删除缓存中的 ‘回车’符号, 对数据进行排序, 输出修改后的数据到 dest_file尾部, 如果dest_file不存在,就创建一个)
tr -d '\r\n' <file.txt > | sort > dest_file.txt
12 位桶,系统的垃圾桶, /dev/null
13 其他控制终端或者串口 /dev/tty
14 自定义的bin目录,添加到$path的方法
.profile 就在home的用户目录下
.profile
# ~/.profile: executed by the command interpreter for login shells.
# This file is not read by bash(), if ~/.bash_profile or ~/.bash_login
# exists.
# see /usr/share/doc/bash/examples/startup-files for examples.
# the files are located in the bash-doc package. # the default umask is set in /etc/profile; for setting the umask
# for ssh logins, install and configure the libpam-umask package.
#umask # if running bash
if [ -n "$BASH_VERSION" ]; then
# include .bashrc if it exists
if [ -f "$HOME/.bashrc" ]; then
. "$HOME/.bashrc"
fi
fi # set PATH so it includes user's private bin directories
PATH="$HOME/bin:$HOME/.local/bin:$PATH"
永久生效的方法: 在.profile中加入 PATH= $PATH:$HOME/bin
一次性生效的方法: 在shell中 PATH= $PATH:$HOME/bin
15 显示脚本参数,0-9 echo $1
10 以上 echo ${10}
16本地化环境
yuyuyu@ubuntu:/usr/share/locale/zh_CN/LC_MESSAGES$
locale -a 列出所有locale 名称
shell脚本学习(1)入门的更多相关文章
- Shell 脚本学习资料搜集
Shell文档 ChinaUnix上大神“網中人”总结的Shell十三问,强烈推荐,这本书讲得比较精炼,而且都是一些Shell学习中容易把握不住的一些细节难点.每一问都写得非常精彩.ChinaUnix ...
- 转 shell脚本学习指南
shell脚本学习指南 以下八点不敢说就能成为你shell脚本学习指南de全部,至少可以让你编写出可靠的shell脚本. 1. 指定bashshell 脚本的第一行,#!之后应该是什么?如果拿这个问题 ...
- 笔记——shell脚本学习指南
<shell脚本学习指南>机械工业出版 ISBN 987-7-111-25504-8 第2章 2.4 初级陷阱 1.当今的系统,对#!这一行的长度限制从63到1024个字符都有,尽量不要超 ...
- 学习笔记之Shell脚本学习指南 & sed与awk & 正则表达式
正则表达式_百度百科 http://baike.baidu.com/link?url=ybgDrN2WQQKN64_gu-diCqdeDqL8LQ-jiQ-ftzzPaNUa9CmgBRDNnyx50 ...
- Shell脚本学习 - 运算符
继续shell脚本学习.上一篇是基本数据类型和语法的总结,这一篇是运算相关的操作. 运算符 bash不支持简单的数学计算,需要依赖其他命令实现. expr可以代为实现. # 表达式一般这么写 ` + ...
- shell脚本学习总结02--数组
bash同时支持普通数组个关联数组,普通数组只能使用整数作为数组的索引,关联数组可以使用字符串作为数组的索引. 数组的定义方法: 在单行中使用一列值定义一个数组 [root@new ~]# array ...
- Shell脚本学习指南笔记
Shell脚本学习指南 作者:Danbo 2015-8-3 脚本编程语言与编译型语言的差异 许多中型.大型的程序都是用编译型语言写的,例如:C.C+.Java等.这类程序只要从源代码(Source C ...
- shell脚本学习之6小时搞定(1)
shell脚本学习之6小时搞定(1) 简介 Shell是一种脚本语言,那么,就必须有解释器来执行这些脚本. Unix/Linux上常见的Shell脚本解释器有bash.sh.csh.ksh等,习惯上把 ...
- Shell脚本学习指南 [ 第一、二章 ] 背景知识、入门
摘要:第一章介绍unix系统的发展史及软件工具的设计原则.第二章介绍编译语言与脚本语言的区别以及两个相当简单但很实用的Shell脚本程序,涵盖范围包括了命令.选项.参数.Shell变量.echo与pr ...
- Shell脚本学习入门(一)
1.Shell脚本是解释型的语言. 2.Shell脚本建立的基本步骤: 3.Shell脚本文件的第一行一般可以是:"#! 路径名 -(选项)", 为了要使Shell脚本有移植性,请 ...
随机推荐
- idea将本地项目推送到git远程库
如何将本地项目推送到github远程仓库? 1. 在github上创建一个仓库,取名mybatis 2. 在idea中将项目交由git管理 注意,文件名会变红了, 说明这些文件在git工作区,但还没规 ...
- 4412 使用小度wifi
本文转载至:https://blog.csdn.net/robertsong2004/article/details/42985223 作者:刘老师,华清远见嵌入式学院讲师. FS_4412可以同链接 ...
- webpack使用的补充
1.分离生产环境和开发环境的wepack.config.js 我们可以将生产环境和开发环境中的配置分离为两个不同的文件,并且还维护一个共同的配置文件 common,可以通过 webpack.merge ...
- 数字电路的与门、或门、非门--FPGA--005
作者:young cc 链接:https://www.zhihu.com/question/23829080/answer/123791730来源:知乎著作权归作者所有,转载请联系作者获得授权. 数字 ...
- asd的甩锅计划
asd的甩锅计划 时间限制: 1 Sec 内存限制: 128 MB提交: 177 解决: 19[提交][状态] 题目描述 大家对hdu上面的畅通工程系列一定很熟悉了吧.比如如下一段,就是畅通工程里 ...
- Golang操作MySQL的正确姿势
封装原因: 查看了很多网上提供的ORM类型的数据库操作,觉得比较麻烦,需要提前配置很多的表结构体,然后才能使用,对于数据表很多的项目就配置起来就比较麻烦,所以对golang的mysql包进行了外层包装 ...
- sql:CallableStatement执行存储过程
/** * 使用CablleStatement调用存储过程 * @author APPle * */ public class Demo1 { /** * 调用带有输入参数的存储过程 * CALL p ...
- 专家揭秘:STM32启动过程全解
电子发烧友网核心提示:本文主要阐述了STM32启动过程全面解析,包括启动过程的介绍.启动代码的陈列以及深入解析. 相对于ARM上一代的主流ARM7/ARM9内核架构,新一代Cortex内核架构的启动方 ...
- spring4.1.8扩展实战之二:Aware接口揭秘
Aware.java是个没有定义任何方法的接口,拥有众多子接口,在spring源码中有多处都在使用这些子接口完成各种场景下的回调操作,当业务有需要时,我们只需创建类来实现相关接口,再声明为bean,就 ...
- static_cast关键字 dynamic_cast关键字
前言 说起C++中的继承.多态.虚函数等概念,可能很多同学都有所了解,但是要说真正熟知的同学可能就不是很多了.最近在编程过程中了解到C++类型的层次转换(这就涉及到了多态和继承的相关概率),通常C语言 ...