1、

#! /bin/bash

#设置只读变量,只读变量不可修改
myUrl="http://www.baidu.com"
readonly myUrl

#删除变量,unset不能删除只读变量
myUrl1="http://www.sina.com"
unset myUrl1

#运行shell时会同时存在三种变量
#局部变量,环境变量,shell变量

#单引号:单引号中不能有变量,不能有单引号
#双引号:双引号里可以有变量,可以出现转义字符。
your_name="qinjx"
str="Hello,I know your name is \"$your_name\" ! \n"

#拼接字符串
your_name="cye"
greeting="Hello,"$your_name" !"
greeting_1="Hello,$your_name"
echo $greeting $greeting_1

#获取字符串长度
string="abcdefg"
echo ${#string} #输出 7

#提取子字符串,从第二个字符开始截取4个字符。
string="runoob is a great site"
echo ${string:1:4} #输出unoo

#查找子字符串,查找i或者s的位置, 以下脚本中 "`" 是反引号,而不是单引号 "'",
string="runoob is a great company"
echo `expr index "$string" is` #输出8

#数组,定义数组
array_name=(value0,value1,value2,value3)

#读取数组,${数组名[下标]}
valuen=${array_name[n]}

#使用@符号,可以获取数组中的所有元素
echo ${array_name[@]}

#获取数组的长度
length=${#array_name[@]}
#或者
length=${#array_name[*]}
#取得数组单个元素的长度
lengthn=${#array_name[n]}

#shell传递参数,在执行shell脚本向脚本传递参数时,脚本内获取参数的格式为:$n,n为一个数字,1代表执行脚本的第一个参数,2为执行脚本的第二个参数。
echo "shell 传递参数实例"
echo "执行的文件名:$0"
echo "第一个参数为:$1"
echo "第二个参数为:$2"
echo "第三个参数为:$3"

#调用时为
#chmod +x test.sh
#./test.sh 1 2 3
#结果为:
#shell 传递参数实例
#执行的文件名:./test.sh
#第一个参数为:1
#第二个参数为:2
#第三个参数为:3

#输出输入重定向
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 之间的内容作为输

0 是标准输入(STDIN),1 是标准输出(STDOUT),2 是标准错误输出(STDERR)
/dev/null 是一个特殊的文件,写入到它的内容都会被丢弃;如果尝试从该文件读取内容,那么什么也读不到。但是 /dev/null 文件非常有用,将命令的输出重定向到它,会起到"禁止输出"的效果。
$ command > /dev/null 2>&1

2、echo,-n参数可使下一个命令输出不换行

echo -n "The date is: "

date

shell基础学习的更多相关文章

  1. Shell基础学习小结

    0 shell基础概念 Shell是解释性语言,使用脚本编程语言的好处是,它们多半运行在比编译型语言还高的层级,能够轻易处理文件与目录之类的对象:缺点是它们的效率通常不如编译型语言.Shell命令有本 ...

  2. shell基础学习系列(一)

    打开文本编辑器,新建一个文件,扩展名为sh(sh代表shell),扩展名并不影响脚本执行. 输入一些代码: #!/bin/bash echo "Hello World !" &qu ...

  3. Shell基础学习(六) 流程控制

    1.if if的语法格式 if conditon then command1 command2 ``` commandn fi 2.if else if conditon then command1 ...

  4. Shell基础学习(四) echo命令

    1.显示普通的字符串 echo "boring" 2.显示转义字符 echo "\"It is a test!\""; 3.read 命令从 ...

  5. Shell基础学习(三) 传递参数

    我们可以在执行 Shell 脚本时,向脚本传递参数,脚本内获取参数的格式为:$n.n 代表一个数字,1 为执行脚本的第一个参数,2 为执行脚本的第二个参数,以此类推…… 以下实例我们向脚本传递三个参数 ...

  6. Shell基础学习(二) Shell变量

    1.数据类型: 字符串 数组 2.变量的命名规范: 只能以a-z或A-Z开头 中间不能有空格,可以使用_ 不能使用标点符号 不能使用shell的关键字 3.变量类型: 环境变量 局部变量 shell变 ...

  7. Shell基础学习(一) Shell简介

    Shell是什么? Shell是C语言编写的一种程序,用于用户与linux操作系统交互:Shell既是命令语言,又是程序设计语言. Shell脚本是什么? Shell脚本是用Shell编写的脚本程序. ...

  8. ArchLinux下Shell基础学习

    首先来认识脚本语言:通常指的是命令行界面的解析器.(来自维基的解释) 第一部分:认识Shell 大家可以看到这里使用了#!/bin/sh和!/bin/bash.可是俩者有什么区别呢?下图有解释. sh ...

  9. shell基础学习-难点重点学习

    来自shell13问 -e : 啟用反斜線控制字符的轉換(參考下表) -E:關閉反斜線控制字符的轉換(預設如此) -n : 取消行末之換行符號(與 -e 選項下的 \c 字符同意) 要取消一個变量,在 ...

随机推荐

  1. Angularjs跨域

    一.首先我们要明白跨域的字面概念,读过留过印象之后,下面将会有例子进一步解释 有一篇文章<跨域的理解与实现>描述得很清楚,在这里摘录如下: 域(Domain)是Windows网络中独立运行 ...

  2. 数据存储之第三方FMDB优化

    最近项目要用到数据库,采用的是第三方FMDB, 之前做C#时用过sqlHelper,自己就按着sqlHelper的思路封装了一下,封装的也比较简单,看到网上有一些根据FMDB封装的ORM框架,但基本都 ...

  3. 【WAN】PPPOE宽带上网功能详解

    1.mac地址克隆 某些地方的运营商会把宽带账号和用户电脑的mac地址绑定起来,运营商的账号只能让当前的电脑去上网,限制路由器上网,这时候路由器可以复制用户电脑的mac伪装成这台电脑去上网,实现路由器 ...

  4. Nginx Open File Cache

    Nginx 的 open_file_cache 相关配置可以缓存静态文件的元信息,在这些静态文件被频繁访问时可以显着提升性能. 被缓存的文件元信息包括: fd,文件被打开一次后,fd保留使用 size ...

  5. yii2 页面加载警告框

    在视图页面代码如下 <?php use kartik\alert\Alert; echo Alert::widget([ 'type' => Alert::TYPE_INFO, 'titl ...

  6. jquery里正则的使用方法及常用的正则验证

    本文是一篇关于jquery使用正则来验证输入,及一些常用验证规则的基础文章,适合新手. 假设我们的网页里有这样的一个表单: <input id="aijquery" type ...

  7. 关于UI回调Invoker的实现(一)

    打算写一个DirectUI库,在写其中底层窗口的回调构造的时候遇到一个问题. Invoker是一个模板,因为closure的关系,它必须保存一个类对象的指针,和回调函数的地址.而函数调用的时候,就可以 ...

  8. mybatis问题: There is no getter for property named 'equipmentId' in 'class java.lang.String'

    本文来源于翁舒航的博客,点击即可跳转原文观看!!!(被转载或者拷贝走的内容可能缺失图片.视频等原文的内容) 若网站将链接屏蔽,可直接拷贝原文链接到地址栏跳转观看,原文链接:https://www.cn ...

  9. PAT 1074. Reversing Linked List

    #include <cstdio> #include <cstdlib> #include <iostream> #include <unordered_ma ...

  10. SEO之网站被惩罚