shell-常用命令,重定向和文件包含
shell的知识点并不多,这里简单介绍一下常用的一些东西
常用命令
echo
- 显示普通字符串
echo "test"
- 显示转义字符
echo "\"test\""
- 显示变量
echo "$key"
- 显示换行
echo -e "OK! \n" # -e 开启转义
- 显示不换行
echo -e "OK! \c" # -e 开启转义 \c 不换行
- 显示结果定向至文件
echo "test" > myfile
- 原样输出字符串,不进行转义或取变量(用单引号)
echo '$name\"'
- 显示命令执行结果
echo `date`
printf
命令的语法
printf format-string [arguments...]
test
test命令用于检查某个条件是否成立,它可以进行数值、字符和文件三个方面的测试
- 数值测试
| 参数 | 说明 |
|---|---|
-eq |
等于则为真 |
-ne |
不等于则为真 |
-gt |
大于则为真 |
-ge |
大于等于则为真 |
-lt |
小于则为真 |
-le |
小于等于则为真 |
e.g.
num1=100
num2=100
if test $[num1] -eq $[num2]
then
echo '两个数相等!'
else
echo '两个数不相等!'
fi
- 字符串测试
| 参数 | 说明 |
|---|---|
= |
等于则为真 |
!= |
不相等则为真 |
-z 字符串 |
字符串的长度为零则为真 |
-n 字符串 |
字符串的长度不为零则为真 |
e.g.
num1="ru1noob"
num2="runoob"
if test $num1 = $num2
then
echo '两个字符串相等!'
else
echo '两个字符串不相等!'
fi
- 文件测试
| 参数 | 说明 |
|---|---|
-e 文件名 |
如果文件存在则为真 |
-r 文件名 |
如果文件存在且可读则为真 |
-w 文件名 |
如果文件存在且可写则为真 |
-x 文件名 |
如果文件存在且可执行则为真 |
-s 文件名 |
如果文件存在且至少有一个字符则为真 |
-d 文件名 |
如果文件存在且为目录则为真 |
-f 文件名 |
如果文件存在且为普通文件则为真 |
-c 文件名 |
如果文件存在且为字符型特殊文件则为真 |
-b 文件名 |
如果文件存在且为块特殊文件则为真 |
e.g.
cd /bin
if test -e ./bash
then
echo '文件已存在!'
else
echo '文件不存在!'
fi
cd /bin
if [ -e ./bash ]
then
echo '文件已存在!'
else
echo '文件不存在!'
fi
函数
函数的定义格式
[ function ] funname [()]
{
action;
[return int;]
}
注:function是可选参数,函数的返回值:如果没有return,那么将以最后一条命令的运行结果作为返回值
如果前括号写在函数名后,一定要留有空格,如果函数名后带有(),此时可以不用空格
e.g.
funcTest() {
echo "func test"
echo $1
}
echo "func start"
demoFun 2
echo "func stop"
函数返回值在调用该函数后通过$?来获得
重定向
| 命令 | 说明 |
|---|---|
command > file |
将输出重定向到 file |
command < file |
将输入重定向到 file |
command >> file |
将输出以追加的方式重定向到 file |
n > file |
将文件描述符为 n 的文件重定向到 file |
n >> file |
将文件描述符为 n 的文件以追加的方式重定向到 file |
n >& m |
将输出文件 m 和 n 合并 |
n <& m |
将输入文件 m 和 n 合并 |
<< tag |
将开始标记 tag 和结束标记 tag 之间的内容作为输入 |
将脚本内所有输出重定向到文件
exec 1>file1 #标准输出
exec 2>file2 #标准错误
文件包含
语法格式如下
. filename # 注意点号(.)和文件名中间有一空格
或
source filename
shell-常用命令,重定向和文件包含的更多相关文章
- Shell 常用命令总结
Shell常用命令总结 1 ls命令:列出文件 ls -la 列出当前目录下的所有文件和文件夹 ls a* 列出当前目录下所有以a字母开头的文件 ls -l *.txt 列出当前目录下所有后缀名 ...
- (转)Hbase shell 常用命令(1)
Hbase shell 常用命令(1) link:http://blog.csdn.net/scutshuxue/article/details/6988348 下面我们看看HBase Shell的一 ...
- git 常用命令(含删除文件)
git 常用命令(含删除文件) Git常用操作命令收集: 1) 远程仓库相关命令 检出仓库:$ git clone git://github.com/jquery/jquery.git 查看远程仓库: ...
- (三)Linux Shell编程——Shell常用命令(输出、判断、循环、函数、包含)
3. 常用命令 3.1 输出 3.1.1 echo命令 echo是Shell的一个内部指令,用于在屏幕上打印出指定的字符串.命令格式: echo arg name="coding" ...
- PHP代码审计2-常用超全局变量,常用命令注入,常用XSS漏洞审计,文件包含
超全局变量 $GLOBALS — 引用全局作用域中可用的全部变量$_SERVER — 服务器和执行环境信息$_GET — HTTP GET 变量$_POST — HTTP POST 变量$_FILES ...
- Shell脚本之九 输入输出重定向和文件包含
输出重定向:是指不使用系统提供的标准输入端口来输出,而是重新指定其他来进行输出.例如在终端输入的字符串本来是要输出到终端屏幕上的,但可以将输出指定为其他文件,将输入字符串输出到该文件中,而不再是屏幕上 ...
- 【Shell常用命令一】echo bash alias history 输出重定向 快捷键
echo输出命令 echo [选项] [输出内容] -e : 支持反斜线控制的字符转换 赋予执行权限 直接运行 chmond 755 hello.sh ./hello.sh 通过bash调用执行脚本 ...
- shell常用命令归类整理
shell 命令整理 bash shell 含有许多功能,因此有许多可用的命令:本文档仅罗列了一些常用命令及其使用频率较高的参数.#本文档仅罗列了一些常用命令及其使用频率较高的参数.#vers ...
- Linux常用命令_(文件查看)
文件查看主要有以下命令 cat.tac.more.less.head.tail.nl cat命令:是一个文本文件查看和连接工具.从第一个字节开始正向查看文件的内容,适用于小文件 以第一行开始,显示没有 ...
随机推荐
- @Import注解的作用
在@Import注解的参数中可以填写类名,例如@Import(Abc.class),根据类Abc的不同类型,spring容器有以下四种处理方式: 1. 如果Abc类实现了ImportSelector接 ...
- C语言位运算题解
#include <stdio.h> #include <stdlib.h> #include <string.h> //#define NONBLANK 1 ma ...
- Linq to XML - C#生成XML
1.System.Xml.XmlDocument XML file转成字符串 string path3 = @"C:\Users\test.xml"; XmlDocument ...
- [Luogu] 逛公园
https://www.luogu.org/problemnew/show/P3953 https://www.zybuluo.com/wsndy-xx/note/1134388 #include&l ...
- plotly绘图
import plotly.plotly as plt import plotly.offline as pltoff from plotly.graph_objs import * # 生成折线图 ...
- 查看API工具 https://editor.swagger.io/
The base URL for the API is: https://api.cloud.nalantis.com/api/ The OpenAPI documentation is ava ...
- 捣乱Linux环境下的C语言
#include <stdlib.h> 头文件作用.CSDN C 标准库 – <stdlib.h> | 菜鸟教程 https://www.runoob.com/cprogra ...
- python 处理 json 四个函数dumps、loads、dump、load的区别
1 .json.dumps() 函数是将一个 Python 数据类型列表(可以理解为字典)进行json格式的编码(转换成字符串,用于传播)eg, dict = {"age": &q ...
- 打印li索引值
<ul> <li>这是第一条alert(0)</li> <li>这是第二条alert(1)</li> <li>这是第三条aler ...
- sql 查询存在一个表而不在另一个表中的数据
方法一(效率底) select A.* from 办卡 A where A.namedh not in (select namedh from 银行) 方法二(效率中) select A.* from ...