16、常用shell命令方法
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命令方法相关推荐
- Linux 基础操作、常用shell命令、vi常用命令、man帮助手册
Linux 基础操作.常用shell命令.vi常用命令.man帮助手册 一.简述 记录简单的Linux 基础操作.常用shell命令.vi编辑器常用命令.man帮助手册的使用. 二.Linux 基础操 ...
- 八、Linux 常用 Shell 命令,控制台的快捷键以及 Shell 编程(中)
@Author : Runsen @Date:2020/9/11 文章是Runsen在Gitchat付费文章分享:Linux 常用 Shell 命令,控制台的快捷键以及 Shell 编程 顺便同步到C ...
- hbase 数据插入指定rowkey_「HBase大爆炸」HBase之常用Shell命令
HBase之常用Shell命令 1.进入 HBase客户端命令操作界面 2.查看帮助命令 3.查看当前数据库中有哪些表 4.创建一张表 创建user表,包含info.data两个列族 或者 5.添加数 ...
- 七、Linux 常用 Shell 命令,控制台的快捷键以及 Shell 编程(上)
@Author : Runsen @Date:2020/9/11 文章是Gitchat付费文章分享:Linux 常用 Shell 命令,控制台的快捷键以及 Shell 编程 顺便同步到CSDN中,这里 ...
- Hadoop之HDFS常用Shell命令
Hadoop之HDFS常用Shell命令 启动Hadoop集群 sbin/start-dfs.shsbin/start-yarn.sh -help:输出这个命令参数 hadoop fs -help r ...
- Windows常用shell命令大全
From: http://blog.csdn.net/yunzhongfeiniao/article/details/6564577 基于鼠标操作的后果就是OS界面外观发生改变,就得多花学习成本.更主 ...
- Linux基础(2)--Linux常用shell命令
Linux常用shell命令 显示命令 查看当前工作路径 切换目录 清屏 显示和配置网络属性 新建文件夹 删除命令 压缩和解压命令 拷贝命令 帮助命令man 显示命令 – 命令:ls – 参数:a,l ...
- hadoop fs –ls /hbase 无内容_Hadoop学习---HDFS的常用shell命令详解
注意:访问hdfs系统的指令 hadoop dfs --- 已过时 hadoop fs -- 使用范围更大 hdfs dfs --范围相对较小hadoop fs 和 hdfs dfs之间没有太大的区别 ...
- Hadoop2常用Shell命令
1. FS Shell 1.1 简介 调用文件系统(FS)Shell命令应使用 bin/hadoop fs <args>的形式. 所有的的FSshell命令使用URI路 ...
最新文章
- 研究生第一篇科研论文常犯问题总结
- R语言使用ggpubr包的ggdotplot函数可视化水平棒棒糖图(自定义分组数据点色彩、自定义调色板、在两端添加点图的线段segments、整体排序从大到小、自定义数据点的大小、添加数值标签)
- antd + react model自定义footer_使用ESLint+Prettier规范React+Typescript项目
- 机房配电系统与配电电缆线径的选择及巡查
- 群晖linux怎么进入u盘,黑群辉直接更改启动u盘的sn、mac等信息
- VS2017 按ctrl+f5执行程序窗口依然一闪而过的问题(图文)
- 介绍ASP.NET控件ID
- Java命令:jstack — 获取线程dump信息
- 【slowfast复现 训练】训练过程 制作ava数据集 复现 SlowFast Networks for Video Recognition 训练 train
- Last_Error: Slave SQL thread retried transaction 10 time(s) in vain, giving up导致主从不同步的解决方法
- python钉钉扫码登录程序_使用python+django集成钉钉三方扫码登陆
- POJ 3321 Apple Tree 【树状数组+建树】
- php接收url的json,api-php中url接收的json数据,json_decode为空
- laravel使用dompdf总结
- Qt Android treeWidget树状单击展开
- HDU 1521 排列组合 (指数型母函数)
- win7服务器未能登录怎么解决,win7系统出现User Profile Service服务未能登录的解决方法...
- 笔记本电脑加装内存条和固态硬盘的前期准备工作
- Bable的快速入门
- python网络爬虫网易云音乐_一篇文章带你用Python网络爬虫实现网易云音乐歌词抓取...
热门文章
- linux C++ 多进程初步02
- C++ STL 容器之stack简单使用
- html页面包含头文件,Web前端技术:HTML部分---Head标签中包含的头文件标签,body标签包含的内部标签...
- 每日一题:leetcode173.二叉搜索树迭代器
- 数据可视化【四】Bar Chart
- memcpy/memset函数的c语言实现
- java主流微服务框架_Spring Boot作为当下最流行的微服务开发框架,一名合格的Java开发者一定有所了解,...
- 最长递增子序列_python_算法与数据结构
- 【练习5.9】图像掩码、礼帽、cvCopy、图像融合、cvCvtColor
- Objective-C模版方法(TemplateMethod)