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-常用命令,重定向和文件包含的更多相关文章

  1. Shell 常用命令总结

      Shell常用命令总结 1  ls命令:列出文件 ls -la 列出当前目录下的所有文件和文件夹 ls a* 列出当前目录下所有以a字母开头的文件 ls -l *.txt 列出当前目录下所有后缀名 ...

  2. (转)Hbase shell 常用命令(1)

    Hbase shell 常用命令(1) link:http://blog.csdn.net/scutshuxue/article/details/6988348 下面我们看看HBase Shell的一 ...

  3. git 常用命令(含删除文件)

    git 常用命令(含删除文件) Git常用操作命令收集: 1) 远程仓库相关命令 检出仓库:$ git clone git://github.com/jquery/jquery.git 查看远程仓库: ...

  4. (三)Linux Shell编程——Shell常用命令(输出、判断、循环、函数、包含)

    3. 常用命令 3.1 输出 3.1.1 echo命令 echo是Shell的一个内部指令,用于在屏幕上打印出指定的字符串.命令格式: echo arg name="coding" ...

  5. PHP代码审计2-常用超全局变量,常用命令注入,常用XSS漏洞审计,文件包含

    超全局变量 $GLOBALS — 引用全局作用域中可用的全部变量$_SERVER — 服务器和执行环境信息$_GET — HTTP GET 变量$_POST — HTTP POST 变量$_FILES ...

  6. Shell脚本之九 输入输出重定向和文件包含

    输出重定向:是指不使用系统提供的标准输入端口来输出,而是重新指定其他来进行输出.例如在终端输入的字符串本来是要输出到终端屏幕上的,但可以将输出指定为其他文件,将输入字符串输出到该文件中,而不再是屏幕上 ...

  7. 【Shell常用命令一】echo bash alias history 输出重定向 快捷键

    echo输出命令 echo [选项] [输出内容] -e : 支持反斜线控制的字符转换 赋予执行权限 直接运行 chmond 755 hello.sh ./hello.sh 通过bash调用执行脚本 ...

  8. shell常用命令归类整理

    shell 命令整理     bash shell 含有许多功能,因此有许多可用的命令:本文档仅罗列了一些常用命令及其使用频率较高的参数.#本文档仅罗列了一些常用命令及其使用频率较高的参数.#vers ...

  9. Linux常用命令_(文件查看)

    文件查看主要有以下命令 cat.tac.more.less.head.tail.nl cat命令:是一个文本文件查看和连接工具.从第一个字节开始正向查看文件的内容,适用于小文件 以第一行开始,显示没有 ...

随机推荐

  1. 【方法】JS判断当前页面环境:PC端/移动端,安卓/IOS,微信环境/QQ环境等等

    [主要知识] 浏览器设备信息:navigator.userAgent(本文中主要用到知识) 浏览器版本信息:navigator.appVersion var ua = navigator.userAg ...

  2. springbootdruidmybatismysql多数据源事务管理

    springboot+druid+mybatis+mysql+多数据源事务管理 分布式事务在java中的解决方案就是JTA(即Java Transaction API):springboot官方提供了 ...

  3. children([expr]) 取得一个包含匹配的元素集合中每一个元素的所有子元素的元素集合。

    children([expr]) 概述 取得一个包含匹配的元素集合中每一个元素的所有子元素的元素集合. 可以通过可选的表达式来过滤所匹配的子元素.注意:parents()将查找所有祖辈元素,而chil ...

  4. javascript JSON.parse and JSON.stringify

    var jstu = '{"name": "xiaoqiang", "age": 18}'; console.log(jstu); var ...

  5. 洛谷P2796 Facer的程序

    洛谷题目链接 动态规划 我们看题目后知道这是一棵无根树,要求出有多少子树 我们设$f[u][1]$表示选了当前节点$u$的方案数 相反的$f[u][0]$则为不选中$u$ 那么考虑状态转移如下: f[ ...

  6. 在一个非默认的位置包含头文件stdafx.h

    如果stdafx.h和你当前的工程不在一个文件夹下,当你在代码中第一行写下#include "stdafx.h"时,VC编译器会根据编译规则(相关的规则请查看MSDN)来区别std ...

  7. ETL测试场景和测试用例设计

    前段时间做了些数据测试相关的工作,找了些相关方面的资料,也跟一些一线厂的同学聊了下数据测试方面的东西,然后在团队内部形成了一个初级的数据测试的规范流程以及测试需要进行的场景设计和测试用例设计的方案. ...

  8. 利用django框架,手把手教你搭建数据可视化系统(一)

    如何使用django去构建数据可视化的 web,可视化的结果可以呈现在web上. 使用django的MTV模型搭建网站 基础铺垫-MTV模型 Created with Raphaël 2.1.0Req ...

  9. Flask-认识flask

    Python 现阶段三大主流Web框架 Django Tornado Flask 对比 百度百科 1.Django 主要特点是大而全,集成了很多组件,例如: Models Admin Form 等等, ...

  10. OpenDayLight安装Features

    OpenDayLight 0.4.4-Beryllium-SR4 opendaylight-user@root>feature:install odl-restconf opendaylight ...