16、常用shell命令方法

简介: 1、shell基本 2、父shell在执行shell命令时,通常是创建子shell,继承父shell环境,执行命令,退出,相关环境销毁;父shell得到子shell的退出状态。 通过命令.或source来使其有当前环境中执行,而不创建子进程。

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

目录
相关文章
|
4月前
|
存储 Unix Shell
确定Shell脚本在操作系统中的具体位置方法。
这对于掌握Linux的文件系统组织结构和路径方面的理解很有帮助,是我们日常工作和学习中都可能使用到的知识。以上讲解详细清晰,应用简便,是每一个想要精通操作系统的计算机爱好者必备的实用技能。
98 17
|
5月前
|
存储 Unix Shell
Shell 输出命令完全指南:echo 与 printf 的深度剖析
本文深入解析了 Shell 编程中 `echo` 和 `printf` 两个核心输出命令的用法与区别。`echo` 简单易用,适合基础输出;`printf` 功能强大,支持复杂格式化。文章从语法、转义序列、高级技巧到实际应用场景(如日志记录、进度显示)逐一讲解,并对比两者的性能与适用场景,帮助开发者根据需求灵活选择。最后通过进阶技巧和常见问题解答,进一步提升对两者的掌握程度。
261 1
|
6月前
|
网络协议 Shell 网络安全
面试官想听的不仅是命令——如何结构化回答“容器无Shell时如何测试外网”?
“说说看,如果一个Pod的容器没有Shell,如何测试它能否访问外网?”
面试官想听的不仅是命令——如何结构化回答“容器无Shell时如何测试外网”?
|
8月前
|
运维 Shell 数据库
Python执行Shell命令并获取结果:深入解析与实战
通过以上内容,开发者可以在实际项目中灵活应用Python执行Shell命令,实现各种自动化任务,提高开发和运维效率。
230 20
|
8月前
|
安全 Shell 数据处理
使用Python执行Shell命令并获取结果
在实际应用中,可以根据需要选择适当的参数和方法来执行Shell命令,并处理可能出现的各种情况。无论是系统管理、自动化任务还是数据处理,掌握这些技巧都将极大地提高工作效率。
279 12
|
10月前
|
Shell Linux 测试技术
6种方法打造出色的Shell脚本
6种方法打造出色的Shell脚本
6种方法打造出色的Shell脚本
|
10月前
|
人工智能 Shell iOS开发
AI Shell:在命令行里“对话” AI ,微软推出将 AI 助手引入命令行的 CLI 工具,打造对话式交互命令行
AI Shell 是一款强大的 CLI 工具,将人工智能直接集成到命令行中,帮助用户提高生产力。AI Shell 支持多种 AI 模型和助手,通过多代理框架提供丰富的功能和灵活的使用模式。
1194 7
|
11月前
|
Web App开发 网络协议 Linux
linux命令总结(centos):shell常用命令汇总,平时用不到,用到就懵逼忘了,于是专门写了这篇论文,【便持续更新】
这篇文章是关于Linux命令的总结,涵盖了从基础操作到网络配置等多个方面的命令及其使用方法。
222 1
linux命令总结(centos):shell常用命令汇总,平时用不到,用到就懵逼忘了,于是专门写了这篇论文,【便持续更新】
|
10月前
|
Java Shell Windows
java Runtime.exec()执行shell/cmd命令:常见的几种陷阱与一种完善实现
java Runtime.exec()执行shell/cmd命令:常见的几种陷阱与一种完善实现
188 1
|
11月前
|
Unix Shell Linux
常见的shell命令
shell常用命令
256 11