Shell 初步

下面简单介绍一下Shell 编程。shell 中用户自定义函数。先举个小例子。

#!/bin/bash

work() {
    ans=`expr $1 + $2`
    return $ans
}

genStr() {
    ans="hello bash"
    return $ans
}
work 3 4
echo $?
genStr
echo $?

i=1
((b=$i+1)) # 这里的 b=2 这样可以给i加1
echo $i 

for i in `ls`
do
if [ $i = 'hello.sh' ]
then
   echo 'yes, exists'
fi
done

对上面这段代码,做如下说明。

1:shell 中的变量的定义和引用。定义的时候前面不用$,但是引用的时候在变量前要加上$。Shell中变量的赋值,=的左右是没有空格的,所以写shell的时候,空格不能随便加。

2:shell 中的函数,参数 => $0,$1,$2 就和命令行参数一样,在调用函数的时候,内部函数的返回值用$?来表示。调用函数的时候不需要加括号。只需要函数名,和参数。

3:最后一个是shell中算数运算的例子,要用两队括号,当然,算数运算还可以实用expr 工具,见第一个函数内。

4:shell 中的 for 循环。注意do .... done 的格式。

5:shell 中的if 语句。注意 if 后面的 [] ,是后面至少要有一个空格,并且 [] 内的表达式应应该是有一个空格的, $i = ‘hello.sh‘ 。接上面提到的 = 的用法,现在可以稍微总结一  下,= 两边没有空格表示 赋值运算, 两边又空格表示逻辑运算的相等。

6:注意shell中的 if ... then ... fi 的格式。

7:shell 中是可以没有; 这个符号的,python 也有这一特点,有没有都一样,建议不加。

时间: 2024-12-14 01:52:42

Shell 初步的相关文章

shell初步了解

shell的类型 查看用户所用的shell程序,在/etc/passwd 文件中的第七个字段(好像就是最后一个,主要是bash shell) 还有一个默认shell是/bin/sh,它作为默认的系统shell,用于那些需要在启动时使用的系统shell脚本 系统默认shell不一定和用户的一致(Ubuntu,它的默认shell是dash shell) shell的父子关系 第一次使用ps -f 的时候,显示出了两个进程,有一个id是12546运行的是bash shell,而另一个进程(12587)

利用shell初步搭建jumpserver

#!/usr/bin/bash#jumpservertrap "" HUP INT OUIT TSTPclearwhile :dowebserver=192.168.117.101mysql=192.168.117.102cat <<-EOF1.WEB2.MYSQLEOF read -p "input number: " num case "$num" in1) ssh [email protected]$webserver;;2)

Hbase从入门到精通_如何学好Hbase

Hbase从入门到精通 课程学习地址:http://www.xuetuwuyou.com/course/188 课程出自学途无忧网:http://www.xuetuwuyou.com 课程简介 面对海量数据的存储及实时查询,传统的RDBMS已经无法满足,基于HDFS之上的HBase应运而生,每个表的数据可以达到数百万列和数十亿条,数据存储在HDFS之上充分利用其存储优势,分布式的架构让其查询数据更加快,绝大数电商互联网公司都是用它.   课程内容 (1)HBase 初窥使用 HBase 应用场景

i春秋-在线挑战-真的很简单-过程记录

0x00 下载运行dedeCMS.exe意见爆帐号密码 下载并运行dedeCMS.exe获取帐号和密码. 0x01 获取hash值对应的密码 资料可知,dedeCMS的密码hash是32位的hash截取来的,因此对其前三位和最后一位进行裁剪后可得到16位的hash.破解可得密码only_system. 0x02 获取管理员后台目录 网上大量教程和经验总结获取后台的路径,但是绝大部分都是差之毫厘因此没有得到后台路径. /data/mysql_error_trace.inc是各大经验教程总结的第一方

linux 基础认识

Linux认识 1.Linux核心原型是1991年由Linux  Torualds 编写的. 2.基本功能是:"接受用户输入指令,通过cpu的数字与逻辑单元运算处理后,产生或存储成有用的信息". 3.操作系统可以完整的掌握所有的硬件资源. 4.比较完整的操作系统,应该包含两个组件,一个是"核心与其提供的借口工具",另一个是"利用核心提供的借口工具所开发的软件" 自我感觉学习LINUX的阶段 第一阶段: Linux平台上的开发,包括vi,gcc,g

2019大数据学习方向【最新分享】

一.大数据运维之Linux基础打好Linux基础,以便更好地学习Hadoop,hbase,NoSQL,Spark,Storm,docker,openstack等.因为企业中的项目基本上都是使用Linux环境下搭建或部署的. 1)Linux系统概述2)系统安装及相关配置?3)Linux网络基础?4)OpenSSH实现网络安全连接?5)vi文本编辑器 6)用户和用户组管理7)磁盘管理?8)Linux文件和目录管理?9)Linux终端常用命令?10)linux系统监测与维护 二.大数据开发核心技术 -

01-初始Linux

000:对所有终端用户进行广播信息怎么操作? 案例:wall " The system will be shut down in 10 minutes " 001:shell初步认识  Shell 俗称壳,它提供了用户与内核进行交互操作的一种接口,它接收用户输入的命令并把它送入内核去执行. Shell 实际上是一个命令解释器,它通过解释用户输入的命令并把它传输给系统内核去执行. Shell 有自己的编程语言用于对命令的编辑,它允许用户编写由 shell 命令组成的程序.Shell 编程

Shel脚本-初步入门之《02 什么是 Shell 脚本》

Shel脚本-初步入门-什么是 Shell 脚本 2.什么是 Shell脚本 当命令或程序语句不在命令行下执行,而是通过一个程序文件来执行时,改程序就被称为 Shell 脚本.如果在 Shell 脚本里内置了很多条命令.语句及循环控制,然后将这些命令一次性执行完毕,这种通过文件执行脚本的方式称为非交互式的方式.这些命令.变量和流程控制语句等有机地结合起来,就形成了一个功能强大的 Shell 脚本. 范例1: 清除 /var/log 下 messages 日志文件的简单命令脚本 把所有命令放在一个

MongoDB 初步shell使用笔记

一.数据储存结构 MongoDB储存数据分为3层结构. dbs——collections——documents. 最底层的是documents,以Json格式储存数据.collections是文件的动态集合,可以理解为存放文件的抽屉.dbs就是数据库了,能理解为多个抽屉组成的书柜. 二.CRUD(creat, read, updata, delete)操作 1.创建 一般使用db.collection.insert()方法. 以下这类似的图片都是官网上的,做的很直观. users是要插入数据的集