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,一经查实,立即删除!

相关文章

Linux学习之exit函数

From: http://hi.baidu.com/homappy/item/549b37c06865877488ad9e75 若父进程在子进程之前终止了&#xff0c;则子进程的父进程将变为init进程&#xff0c;其PID为1&#xff1b;保证每个进程都有父进程。 Linux学习之"exit函数" 先看下"_exit"和"ex…

为什么要设置环境变量,环境变量有什么用?

比如说你要执行 java 命令&#xff0c;你不设置环境变量path包括你的jdk安装路径&#xff0c;那系统去哪找你的java.exe文件。 如果执行某个命令&#xff0c;系统无法在当前文件夹里找到对应的.exe&#xff0c;那么系统就会去path包含的路径找挨个找看是否能知道对应的.exe&…

CM3计算板RTC闹钟唤醒系统

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

[react] 在React中如果去除生产环境上的sourcemap?

[react] 在React中如果去除生产环境上的sourcemap&#xff1f; GENERATE_SOURCEMAPfalse react-scripts buildIf you use the Create-React-APP 个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容易&#xff0c; 但坚持一定很酷。欢迎大家一起讨论 主目…

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

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

火狐浏览器所有的快捷键

From: http://zhidao.baidu.com/question/218604936.html firefox快捷键搜索类&#xff1a;本页查找&#xff1a; CtrlF 再次查找&#xff1a; F3 输入查找链接&#xff1a; 输入查找文本&#xff1a; / 查找&#xff1a; ShiftF3 网页搜索&#xff1a; CtrlK 或 CtrlEfire…

超文本引用href的几种用法

href"要跳转目标链接"; href"#";当前页面不跳转&#xff08;返回顶部&#xff09; href"###";当前页面不跳转&#xff08;同时不回到顶部&#xff09; href"javascript:;";当前页面不跳转&#xff0c;返回空 href"javscript:void…

[react] React的触摸事件有哪几种?

[react] React的触摸事件有哪几种&#xff1f; onTouchCancel onTouchEnd onTouchMove onTouchStart 个人简介 我是歌谣&#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.…

Md5 Md5实现原理

参考&#xff1a; http://wenku.baidu.com/view/ddb1008271fe910ef12df8df.html转载于:https://www.cnblogs.com/85538649/archive/2011/08/24/2152187.html

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、快速放电…

[react] 状态管理器解决了什么问题?什么时候用状态管理器?

[react] 状态管理器解决了什么问题&#xff1f;什么时候用状态管理器&#xff1f; 专注 view 层 React 官网是这么简介的。JavaScript library for building user interfaces.专注 view 层 的特点决定了它不是一个全能框架&#xff0c;相比 angular 这种全能框架&#xff0c;R…

艾伟:ASP.NET跨页面传值技巧总结

关于页面传值的方法&#xff0c;引发了很多讨论。看来有很多人关注这个&#xff0c;我就我个人观点做了些总结&#xff0c;希望对大家有所帮助。 1. 使用QueryString变量 QueryString是一种非常简单的传值方式&#xff0c;他可以将传送的值显示在浏览器的地址栏中。如果是传递…

BCC异或校验 Linux C

1、BCC异或校验 从输入的HEX第一个字节开始&#xff0c;按字节依次循环计算异或值直到HEX结尾字节&#xff0c;得到的最终一个字节值。 2、C程序 /******************************************************************************* _____ ___ ____ ___ _____ _ …

Linux tcpdump命令用法详解

From: http://os.51cto.com/art/201005/201921.htm TCPDUMP简介 在传统的网络分析和测试技术中&#xff0c;嗅探器(sniffer)是最常见&#xff0c;也是最重要的技术之一。sniffer工具首先是为网络管理员和网络程序员 进行网络分析而设计的。对于网络管理人员来说&#xff0c;使用…

[react] 在React中怎么引用sass或less?

[react] 在React中怎么引用sass或less&#xff1f; 安装 npm node-sass -D 导入&#xff1a; import app from ../app.module.scss 使用&#xff1a; <div className{app.tabbar}> 个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容易&#xff0c;…

Revit二次开发“创建组遍历组Group”

group 就是吧一些有关系的对象放在一个组里面 [Transaction(TransactionMode.Manual)][Regeneration(RegenerationOption.Manual)]//[Journaling(JournalingMode.NoCommandData)]publicclasscmdGroup : IExternalCommand{ publicResult Execute(ExternalCommandData cmdData…

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

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