16、常用shell命令方法

1、shell基本

wps_clip_image-14886

2、父shell在执行shell命令时,通常是创建子shell,继承父shell环境,执行命令,退出,相关环境销毁;父shell得到子shell的退出状态。

通过命令.source来使其有当前环境中执行,而不创建子进程。

3、通配符与运算符

wps_clip_image-26814

wps_clip_image-4894

4、转义

单引号

   硬转义,单引号内的字符就是其字面意义

双引号

    会进行变量替换

反单引号----$()

    会把命令执行的输出,替换;相当于函数调用,嵌套的变量会一直解析

****/home/edwardlewis/altraman # echo 'date'

date

****:/home/edwardlewis/altraman # echo "date"

date

****:/home/edwardlewis/altraman # echo `date`

Fri Aug 19 07:00:02 CST 2011

5、变量

变量赋值:    name=value

变量引用:       $name

合法的变量名: 字母、下划线、数字

=号两边不容许有空格(否则可能解析成命令,默认情况下IFS为空格)

$name是${name}的缩写

$?

上一命令的退出状态

$!

最后一个后台进程的pid

$0

当前进程的程序名称

$$

当前进程的进程id

$n

n为12,…n脚本或程序的参数

$@

脚本或程序的所有参数

$#

脚本或程序的参数个数

$UID

当前用户的UID

$LOGNAME

当前用户的用户名

$HOSTNAME

主机名

$RANDOM

1-32767之间随机数

$SECONDS

以消耗的秒数

$PWD

当前工作目录

$OLDPWD

最后一次cd前的工作目录

~

HOME

    环境变量envbash或用户预设值的变量,可以被继承并直接使用;当前变量setlocal定义局部变量。

a.永久设置

export name=value

./foobar.sh

b.只对一个命令设置

name=value

./foobar.sh

6、结构语句

1)if

[[ ]]  表达式,测试字符串,文件

(( ))  表达式,测试数字计算结果

命令的退出码($?) 0时,代表true,执行成功

* 匹配零个或多个任意字符

?匹配一个任意字符

[] 字符组,可以匹配字符组中的一个字符

A|B ,A 或者B

示例程序

i=1;

while (( i <= 10 ));

do

((i++))

done

echo i:${i}

for var in *.html

do

if [[ -h $var ]];

    then "Yes"

fi

done

7、函数

调用:需要先定义后调用,名字+参数(和调用一个命令完全一致)

参数:$1,$2,……$#,$@

返回值:标准输出

退出状态:return $num;或最后一个命令的退出状态(尽量在$?中返回失败码)

注意:函数必须先定义,后调用(local可以定义局部变量)

8、块重定向

if,while语句块,{}

块中共享同一文件描述符(统一重定向)

除非块中自行打开关闭

{

echo msg1

echo msg2

} >> "$log"

9、简要说明echo print 有何区别?

① print有返回值,成功就返回1,失败就0,echo没有返回值

② echo函数中,可以同时输出多个字符串,而在print函数中则只可以同时输出一个字符串。

int print ( string arg)

Outputs arg. Returns 1, always. 

void echo ( string arg1 [, string argn...])

Outputs all parameters. 

10、其他

ps -ef | grep 'http*' | grep -v 'grep' | wc -l

包含正则表达式尽量用单引号,防止转义。

参考:

1http://www.cnblogs.com/mydomain/archive/2010/09/24/1833799.html

2】 http://www.cnblogs.com/mydomain/archive/2010/09/24/1833910.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/404976.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CM3计算板RTC闹钟唤醒系统

1、前言 一个周期性控制系统的核心为CM3计算板&#xff0c;在电池供电情况下要求尽可能提高使用时长。由于系统空闲时长较多&#xff0c;因此在考虑低功耗的情况下将系统关机以进一步降低功耗。需要注意的是&#xff0c;系统关机后需要在指定时间唤醒&#xff0c;继续执行相关…

[相关总结性文章] 写给即将入行的程序员的一封信

本文来自&#xff1a;安卓航班网 首先&#xff0c;欢迎来到程序员的世界。在这个世界上&#xff0c;不是有很多人想创造软件并解决问题。你是一名hacker&#xff0c;属于那些愿意做一些有挑战性的事情的人。  “当你不创造东西时&#xff0c;你只会根据自己的感觉而不是能力去…

arm-linux-gnueabihf gcc8.3交叉编译工具搭建教程

一、运行环境 1.1 执行机环境 ld GNU ld (GNU Binutils for Raspbian) 2.31.1 ldd ldd (Debian GLIBC 2.28-10rpi1) 2.28 Copyright (C) 2018 Free Software Foundation, Inc. gcc (Raspbian 8.3.0-6rpi1) 8.3.0 Copyright (C) 2018 Free Software Foundation, Inc.…

Linux tcpdump命令详解

From: http://www.cnblogs.com/ggjucheng/archive/2012/01/14/2322659.html 简介 用简单的话来定义tcpdump&#xff0c;就是&#xff1a;dump the traffic on a network&#xff0c;根据使用者的定义对网络上的数据包进行截获的包分析工具。 tcpdump可以将网络中传送的数据包…

Win7 64bit系统下未能加载文件或程序集“System.Data.SQLite”的另一解决办法

在http://www.cnblogs.com/downcom/archive/2009/10/26/1590120.html中我曾给出一种解决方法&#xff0c;但这种方法在本地用64位系统开发程序&#xff0c;但服务器却是使用的32位的系统时却是很麻烦的&#xff0c;一直得改来改去的&#xff0c;今天使用另一种解决方法。 1、打…

整理一下网上看到的几个巧妙小电路

1、单按键开关机电路 思路&#xff1a;按下按键后&#xff0c;MCU输出开机信号PG1&#xff0c;关机则检测KEY1的电平&#xff0c;关键是二极管构成“或”的电路。 2、USB和电池供电切换电路 思路&#xff1a;USB有电则断开电池供电回路&#xff0c;用P-MOS管实现 3、快速放电…

hdu 3951 硬币围成一圈(博弈)

n个硬币围成一个环 每次只能取1-K个硬币 最后取完者胜 假如5个硬币 每次取1-2个情况1 先手取1个 后手取剩下4个中间2个 破坏了连续 虽然最后剩2个&#xff0c;但先手只能取一个 然后后再取一个 后手胜 情况2 先手取2个 后手取剩下3个中间的那1个 然后同理 后手胜 Sample Input2…

socket初级使用(客户端)

在国庆这段时间里用零星的一些时间看了一下socket的学习资料&#xff0c;由于笔者偏向学习实用方面的内容&#xff0c;因此此篇文章涉及理论知识较少&#xff0c;主要是以实现思路(怎么做)为主,但在实现之前还是需要了解一些基础的理论知识(如果其中有误请指出) TCP是用socket来…

第11章 路由器OSPF动态路由配置

实验目标&#xff1a; 一、掌握OSPF协议的配置方法&#xff1b; 二、掌握查看通过动态路由协议OSPF学习产生的路由信息&#xff1b; 三、熟悉广域网线缆连接方式&#xff1b; 技术原理&#xff1a; OSFP开放式最短路径优先协议&#xff0c;是目前网络中最广泛的路由协议之一。属…

Hi3515的开发板 Hi3515 SDK编译出错 提示缺少libpciv.a的解决办法

From: http://zyd87818.blog.163.com/blog/static/17488150120124300261687/ 这是HI3515说明文档的说明 但是我进去编译却通不过&#xff0c;提示错误如下 通过qq群里的好人帮助解决方法如下首先看一下makefile自己看不懂&#xff0c;经高人指点需要修改Makefile.param文件…

poj1222

题意&#xff1a;一个01矩阵&#xff0c;表示灯的亮灭状态&#xff0c;每次操作可以改变一个十字形状内的五个灯的状态。问能否将所有灯熄灭。 分析&#xff1a;高斯消元法 对于每个灯的两灭有影响的开关就是它附近十字形内的五个开关。所以对于每个灯可以列一个方程&#xff0…

iphone开发我的新浪微博客户端-用户登录准备篇(1.1)

首先说一下我这个的实现思路&#xff0c;登录支持多个账号&#xff0c;也就是说可以保存多个微博账号登录的时候选择其中一个登录。多个账号信息保存在sqlite的数据库中&#xff0c; 每一个账号信息就是一条记录, 当用户启动微博客户端的时候去取保存在sqlite数据库中的账号记录…

基于密度的异常值检测方法整理

基于密度的异常值检测方法的原理认为正常样本点所处的类簇密度要高于异常点样本所处的类簇密度。为解决实际异常值检测情况 中出现的问题&#xff0c;有一种基于局部异常因子 LOF 方法。

GWT 入门介绍

From: http://blog.csdn.net/struts2/article/details/1758122 GWT 入门介绍 GWT使用JSON格式的数据通讯 GWT是 Google Web Toolkit的简称。 GWT是一个以Java语言为工具&#xff0c;以类似Swing的方式编写UI组件&#xff0c;之后通过GWT Compiler编译 为JavaScritp和HTM…

SQL Server 2008空间数据应用系列十一:Bing Maps中呈现GeoRSS订阅的空间数据

友情提示&#xff0c;您阅读本篇博文的先决条件如下&#xff1a; 1、本文示例基于Microsoft SQL Server 2008 R2调测。 2、具备 Transact-SQL 编程经验和使用 SQL Server Management Studio 的经验。 3、熟悉或了解Microsoft SQL Server 2008中的空间数据类型。 4、具备相应&am…

聚类算法的分类整理

1、基于划分的聚类算法 基于划分的聚类算法 主要通过聚类中心的迭代重置&#xff0c;直到达到“簇内点足够近&#xff0c;簇间点足够远”的目标效果&#xff0c;完成样本集的最优化分。其算法优点是时间、空间复杂度低&#xff0c;可以处理大规模数据集。缺点包括容易陷入局部…

minGW64安装和使用 极简教程

1、下载minGW64 官网下载&#xff1a;https://sourceforge.net/projects/mingw-w64/files/mingw-w64/mingw-w64-release/我的FTP&#xff1a;a、minGW64 install.exe b、解压免安装版 2、解压 3、添加环境变量 4、CMD 运行gcc 安装完成。 5、使用minGW编译C源码 6、运行

[C#反编译教程]001.Reflector.NET反编译工具 v8.5绿色版+注册机+注册教程

截图 下载地址 Reflector.NET反编译工具 v8.5绿色版注册机 下载地址&#xff1a;http://pan.baidu.com/s/1mgN1Cpi 密码&#xff1a;mx19 简介 .NET Reflector是一个类浏览器和反编译器&#xff0c;.NET Reflector可以分析程序集并向你展示它的所有秘密。.NET 框架向全世界引入…

openOCD安装 极简教程

1、下载openOCD 官网下载&#xff1a;https://gnutoolchains.com/arm-eabi/openocd/我的FTP&#xff1a;openOCD 2、解压 3、添加环境变量 ->path 4、CMD运行openOCD 安装完成。