Shell 基础
1.结构
#!指定执行脚本的shell #!/bin/sh
# 注释行
命令和控制结构
2.修改权限
chmod +x ...
3.变量
分为临时变量和永久变量
临时变量是shell程序内部定义的,使用返回仅限于定义它的程序,对其他程序不可见。包括用户自定义的变量、位置变量。永久变量是环境变量,其值不随shell脚本的执行结束而消失
习惯上用大写字母来命名变量。变量名只能以字母开头,不能用数字开头
变量赋值 NUM=123456 等号两边没有空格
把一个命令执行的结果赋给变量 TIME=`date`
讲一个变量赋值给另一个变量 A=$b
包含多个字符时加单引号或者双引号 $NAME="mike jordan" 单引号之间的内容会原封不动的指定给变量 , 双引号会解析变量
在使用变量值时,要在变量名前加上 $
4.位置变量
Shell 解释执行用户命令时,将命令行的第一个部分作为用户名,其他部分作为参数。由出现在命令行上的位置确定的参数为位置参数
例如:
ls -l file1 file2 file3
$0 这个程序的文件名 ls -l
$n 这个程序的第n个参数值 n=1-9
/bin/sh /shell/example.sh /etc 执行的时候在脚本中 $1 就代表 /etc
5.特殊变量
$* 这个程序的所有参数
$# 这个程序的参数的个数
$$ 这个程序的PID
$! 执行上一个后台命令的PID
$? 执行上一个命令的返回值
0 成功
非0 失败
6.查看和删除环境变量
set
unset
Shell 基础的更多相关文章
- Shell基础学习小结
0 shell基础概念 Shell是解释性语言,使用脚本编程语言的好处是,它们多半运行在比编译型语言还高的层级,能够轻易处理文件与目录之类的对象:缺点是它们的效率通常不如编译型语言.Shell命令有本 ...
- Shell基础-环境变量配置文件
Shell基础-环境变量配置文件 source 配置文件 或者 . 配置文件: 把环境变量写入配置文件后,需要用户重新登陆才能生效,而是用source命令,则能直接生效 主要的配置文件: /etc/p ...
- shell基础二十篇 一些笔记
shell基础二十篇 转自 http://bbs.chinaunix.net/thread-452942-1-1.html 研讨:Bash 内建命令 read (read命令更具体的说明见博客收藏的一 ...
- shell基础(转)
shell基础1:文件安全与权限 http://bbs.chinaunix.net/forum/viewtopic.php?t=434579&highlight=wingger 附:Linux ...
- Linux实战教学笔记17:精简shell基础
第十七节 精简shell基础 标签(空格分隔): Linux实战教学笔记 1,前言 1.1 为什么学习shell编程 Shell脚本语言是实现Linux/UNIX系统管理及自动化运维所必备的重要工具, ...
- shell基础及变量
一 Shell概述 1.Shell的作用——命令解释器,“翻译官” shell作为一个人机接口,用于解释用户输入的命令,将命令解释为Linux内核可以执行的2进制代码,并将执行的结果返回在标准终端上. ...
- Shell 基础教程
一个比较好的shell基础教程: http://www.runoob.com/linux/linux-shell.html
- Linux基础学习(10)--Shell基础
第十章——Shell基础 一.Shell概述 1.Shell是什么: (1)Shell是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用Shell来 ...
- Linux Shell基础(下)
Linux Shell基础(下) 目录 一.shell特殊符号cut命令 二.cut.sort.wc.uniq命令 三.tee.tr.split命令 四.简易审计系统 五.fork, exec, so ...
- Linux shell基础知识(上)
Linux shell基础知识(上) 目录 一.shell介绍 二.命令历史 三.命令补全和别名 四.通配符 五.输入输出重定向 六.管道符和作业控制 七.shell变量 八.环境变量配置文件 九.b ...
随机推荐
- 白话解释IIS并发连接数
做负载均衡的时候会发现有很多并发数的参数.其中有一个"IIS并发连接数"是我们要关注的. 假设"IIS并发连接数"显示为1000,这并不代表有1000个客户端在 ...
- Barnicle
Barnicle Barney is standing in a bar and starring at a pretty girl. He wants to shoot her with his h ...
- HDU 4287 Intelligent IME(字典树)
在我没用hash之前,一直TLE,字符串处理时间过长,用了hash之后一直CE,(请看下图)我自从经历我的字典树G++MLE,C++AC以后,一直天真的用C++,后来的CE就是因为这个,G++才支持这 ...
- MVC和三层架构的区别
MVC是一种设计模式,Modal,View,Controller,三层分开,解开耦合,方便替换. 三层架构包括 UI层,业务逻辑层,Dao层.UI层负责展示数据,业务逻辑层具体处理数据,Dao层负责和 ...
- Python之路:线程池
版本一 #!/usr/bin/env python # --*--coding:utf-8 --*-- import Queue import threading class ThreadPool( ...
- thin-provisioning-tools
公司我还用着squeeze,没这个包,下载编译:https://github.com/jthornber/thin-provisioning-tools.git
- angularJs-UI-bootstrap系列教程1(使用前的准备)
之前一直想看看angular中Ui-bootstrap是如何使用的,但是苦于网站被墙了,一直看不到,最近偷偷的到墙外面看了一下文档,大致的了解了如何使用,在这里写这边文章主要就是为了那些被墙了的ang ...
- 无源RS232转RS485(转)
源:无源RS232转RS485 RS232 -485转换器主要包括了电源.232电平转换.485电路三部分.本电路的232电平转换电路采用了NIH232或者也可以直接使用MAX232集成电路,485 ...
- PHP 安装 redis、memcached、openssl、pdo_mysql等
PHP openssl 扩展的安装 这些插件可以通过在 php.ini 中添加 extension 的方式来加载所需要的插件,其实在 php 的安装包里就已经有相关的插件代码包了,在 php7 ...
- javascript中最常用的方法
平时在工作中时常需要一些方法,下面列举几个最常用的几个方法. 1. indexOf(searchvalue,fromindex) 该方法用于查找一个字符串是否包含了另一个字符串 indexOf() 方 ...