1、shell基本

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

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

3、通配符与运算符

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为1,2,…n脚本或程序的参数

$@

脚本或程序的所有参数

$#

脚本或程序的参数个数

$UID

当前用户的UID

$LOGNAME

当前用户的用户名

$HOSTNAME

主机名

$RANDOM

1-32767之间随机数

$SECONDS

以消耗的秒数

$PWD

当前工作目录

$OLDPWD

最后一次cd前的工作目录

~

HOME

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

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

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

参考:

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

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

16、常用shell命令方法相关推荐

  1. Linux 基础操作、常用shell命令、vi常用命令、man帮助手册

    Linux 基础操作.常用shell命令.vi常用命令.man帮助手册 一.简述 记录简单的Linux 基础操作.常用shell命令.vi编辑器常用命令.man帮助手册的使用. 二.Linux 基础操 ...

  2. 八、Linux 常用 Shell 命令,控制台的快捷键以及 Shell 编程(中)

    @Author : Runsen @Date:2020/9/11 文章是Runsen在Gitchat付费文章分享:Linux 常用 Shell 命令,控制台的快捷键以及 Shell 编程 顺便同步到C ...

  3. hbase 数据插入指定rowkey_「HBase大爆炸」HBase之常用Shell命令

    HBase之常用Shell命令 1.进入 HBase客户端命令操作界面 2.查看帮助命令 3.查看当前数据库中有哪些表 4.创建一张表 创建user表,包含info.data两个列族 或者 5.添加数 ...

  4. 七、Linux 常用 Shell 命令,控制台的快捷键以及 Shell 编程(上)

    @Author : Runsen @Date:2020/9/11 文章是Gitchat付费文章分享:Linux 常用 Shell 命令,控制台的快捷键以及 Shell 编程 顺便同步到CSDN中,这里 ...

  5. Hadoop之HDFS常用Shell命令

    Hadoop之HDFS常用Shell命令 启动Hadoop集群 sbin/start-dfs.shsbin/start-yarn.sh -help:输出这个命令参数 hadoop fs -help r ...

  6. Windows常用shell命令大全

    From: http://blog.csdn.net/yunzhongfeiniao/article/details/6564577 基于鼠标操作的后果就是OS界面外观发生改变,就得多花学习成本.更主 ...

  7. Linux基础(2)--Linux常用shell命令

    Linux常用shell命令 显示命令 查看当前工作路径 切换目录 清屏 显示和配置网络属性 新建文件夹 删除命令 压缩和解压命令 拷贝命令 帮助命令man 显示命令 – 命令:ls – 参数:a,l ...

  8. hadoop fs –ls /hbase 无内容_Hadoop学习---HDFS的常用shell命令详解

    注意:访问hdfs系统的指令 hadoop dfs --- 已过时 hadoop fs -- 使用范围更大 hdfs dfs --范围相对较小hadoop fs 和 hdfs dfs之间没有太大的区别 ...

  9. Hadoop2常用Shell命令

    1.       FS Shell 1.1     简介 调用文件系统(FS)Shell命令应使用 bin/hadoop fs <args>的形式. 所有的的FSshell命令使用URI路 ...

最新文章

  1. 研究生第一篇科研论文常犯问题总结
  2. R语言使用ggpubr包的ggdotplot函数可视化水平棒棒糖图(自定义分组数据点色彩、自定义调色板、在两端添加点图的线段segments、整体排序从大到小、自定义数据点的大小、添加数值标签)
  3. antd + react model自定义footer_使用ESLint+Prettier规范React+Typescript项目
  4. 机房配电系统与配电电缆线径的选择及巡查
  5. 群晖linux怎么进入u盘,黑群辉直接更改启动u盘的sn、mac等信息
  6. VS2017 按ctrl+f5执行程序窗口依然一闪而过的问题(图文)
  7. 介绍ASP.NET控件ID
  8. Java命令:jstack — 获取线程dump信息
  9. 【slowfast复现 训练】训练过程 制作ava数据集 复现 SlowFast Networks for Video Recognition 训练 train
  10. Last_Error: Slave SQL thread retried transaction 10 time(s) in vain, giving up导致主从不同步的解决方法
  11. python钉钉扫码登录程序_使用python+django集成钉钉三方扫码登陆
  12. POJ 3321 Apple Tree 【树状数组+建树】
  13. php接收url的json,api-php中url接收的json数据,json_decode为空
  14. laravel使用dompdf总结
  15. Qt Android treeWidget树状单击展开
  16. HDU 1521 排列组合 (指数型母函数)
  17. win7服务器未能登录怎么解决,win7系统出现User Profile Service服务未能登录的解决方法...
  18. 笔记本电脑加装内存条和固态硬盘的前期准备工作
  19. Bable的快速入门
  20. python网络爬虫网易云音乐_一篇文章带你用Python网络爬虫实现网易云音乐歌词抓取...

热门文章

  1. linux C++ 多进程初步02
  2. C++ STL 容器之stack简单使用
  3. html页面包含头文件,Web前端技术:HTML部分---Head标签中包含的头文件标签,body标签包含的内部标签...
  4. 每日一题:leetcode173.二叉搜索树迭代器
  5. 数据可视化【四】Bar Chart
  6. memcpy/memset函数的c语言实现
  7. java主流微服务框架_Spring Boot作为当下最流行的微服务开发框架,一名合格的Java开发者一定有所了解,...
  8. 最长递增子序列_python_算法与数据结构
  9. 【练习5.9】图像掩码、礼帽、cvCopy、图像融合、cvCvtColor
  10. Objective-C模版方法(TemplateMethod)