Linux下shell的简单编程

Linux下一个简单的Shell登录界面系统编程 在Linux系统中,我们可以使用Shell编程来创建一个简单的登录界面系统。如果验证成功,用户将被授予访问系统的权限,否则将显示错误消息并要求重新输入。如果匹配成功,则显示登录成功的消息,并可以在该条件中执行其他命令或启动其他应用程序。这只是一个简单的示例,你可以根据自己的需求对登录界面系统进行扩展和定制。当脚本运行时,你将看到一个简单的登录界面,按照提示输入用户名和密码即可。是Shebang,用于指定脚本使用的解释器,这里使用的是Bash。接下来,我们定义了有效的用户名和密码。选项用于隐藏输入的密码。 阅读详情
 
Linux下shell的简单编程 

转自:动态网制作指南 www.knowsky.com


    shell脚本编写基础


     从定时备份到执行简单命令,Linux的shell脚本可以执行各种功能。几乎所有的程序都可以用shell脚本来运行。在脚本中甚至可以包含一些简单的条件选择。shell脚本的基本格式如下:

#!/bin/sh

...

Your commands here

...

    注意文件以#!/bin/sh开始。这条语句告诉操作系统用来解释脚本的程序位置。大多数系统会有/bin/sh目录,因为该目录包含root用户的标准shell程序。在大部分系统中你也可以指定/bin/bash目录。每种shell的脚本都有所不同。一些shell,比如bash,支持比标准shell更多的命令。在大多数Linux版本中sh实际上就是bash。从脚本运行命令十分简单,很像在Windows DOS提示符下运行命令。举个例子,通过下面这段语句可以拷贝文件:

#!/bin/sh

cp file1 file2

mv file2 file3

echo "complete" > complete.txt

    自动执行命令对那些不需人工干预的任务很有用,但对一般用户来说并不那么有用。为此,shell脚本在执行过程中允许用户输入命令行参数,然后利用输入的参数运行命令。脚本中输入参数用$1到$9表示。如果你曾写过DOS批处理文件,你会发现批处理文件中也有类似功能,只是它用的是%1、%2等来代表输入参数。下面举例来说怎样使用命令行参数:


 
#!/bin/sh

cp $1 $2       //传入两个参数

    上段脚本接受2个命令行参数,第一个是要拷贝的原文件,第二个是拷贝的目标文件。运行脚本的命令格式是:./myscript file1 file2,myscript代表脚本文件名。命令行选项也可以通过这种方式传递,如:

#!/bin/sh

cp $1 $2 $3

    键入./copy –r sourcedir destdir形式的命令执行上段脚本,即可递归拷贝$2目录下所有文件到$3目录下。选项$1为-r时能让cp命令递归拷贝所有文件。

含条件选择的shell脚本
    对于不含变量的任务简单shell脚本一般能胜任。但在执行一些决策任务时,就需要包含if/then的条件判断了。shell脚本编程支持此类运算,包括比较运算、判断文件是否存在等。基本的if条件命令选项有:

-eq —比较两个参数是否相等(例如,if [ 2 –eq 5 ])
-ne —比较两个参数是否不相等
-lt —参数1是否小于参数2
-le —参数1是否小于等于参数2
-gt —参数1是否大于参数2
-ge —参数1是否大于等于参数2
-f — 检查某文件是否存在(例如,if [ -f "filename" ])
-d — 检查目录是否存在
几乎所有的判断都可以用这些比较运算符实现。脚本中常用-f命令选项在执行某一文件之前检查它是否存在。

Linux shell编程例子 -- 一个简单的目录菜单 untildo1) ls;;read dircd $dir;;read filevi $file;;read filerm $file;;;esac。 阅读详情

相关推荐

Linux系统编程8-18总结项目:完成一个简单的自己的shell

文章目录一:进程创建(1)fork函数回顾(2)写时拷贝二:进程终止(1)进程终止时的三种情况 一:进程创建 (1)fork函数回顾 在下面这篇文章我们演示了fork函数以及相关细节 点击跳转 还是借助上文中的程序和效果图片 #include <stdio.h> #include <unistd.h> int main() { printf("执行到fork函数之前其进程为:%d,其父进程为:%d\n",getpid(),getppid()); sleep(1);

快乐江湖的博客 596

Linux中的Shell编程

Shell 是一个命令解释器,它为用户提供了一个向 Linux 内核发送请求以便运行程序界面系统级程序,用户可以用 Shell 来启动、挂起、停止甚至是编写一些程序。2.对于JavaEE和Python程序员来说,工作的需要,你的老大会要求你编写一些Shell脚本进行程序或者是服务器的维护,比如编写一个定时备份数据库的脚本。1.Linux运维工程师在进行服务器集群管理时,需要编写Shell程序来进行服务器管理。3.对于大数据程序员来说,需要编写Shell程序来管理集群。

xzy的博客 715

Centos7.6操作系统安装+Bond配置(600GB磁盘版本)

1.安装前准备工作 准备centos7.6操作系统镜像 CentOS-7-x86_64-DVD-1810.iso 服务器安装一般都是在BMC界面操作,所以安装前需要在BMC界面挂载好操作系统镜像 重启服务器后自动进入安装界面。 华为大数据集群安装操作系统配置

小时光 6010

Linux Shell编程

Linux Shell编程 一、简述 简单的介绍shell脚本的基本用法。 shell脚本是 由一些按照一定格式组合起来的shell命令 组成。shell脚本不需要编译就可以直接执行,它是边解释边执行的。 二、命令解释器 Linux系统提供多种不同的Shell以供选择。常用的有Bourne Shell(简称sh)、C-Shelll(简称csh)、Kor...

Genven_Liang的博客 1万+

告别BAPI!深入SAP S/4HANA BP框架:cl_md_bp_maintain维护客户主数据的正确姿势与性能优化

本文深入解析SAP S/4HANA中cl_md_bp_maintain框架的高效实践与架构设计,对比传统BAPI方式,展示其在业务伙伴(BP)主数据维护中的性能优势与现代化特性。通过详细代码示例和性能测试数据,揭示如何利用该框架实现批量处理、集中校验及智能错误恢复,助力企业从ECC向S/4HANA平滑迁移。

weixin_30596735的博客 358

华南理工大学-大学物理实验-不良导体热导率测量

不良导体热导率测量 引言 导热系数(又叫热导率)是反映材料热性能的重要物理量。热传导是热交换的三种(热传导、对流和辐射)基本形式之一,是工程热物理、材料科学、固体物理及能源、环保等各个研究领域的课题。材料的导热机理在很大程度上取决于它的微观结构,热量的传递依靠原子、分子围绕平衡位置的振动以及自由电子的迁移。在金属中电子流起支配作用,在绝缘体和大部分半导体中则以晶格振动起主导作用。因此,某种材料的导热系数不仅与构成材料的物质种类密切相关,而且还与材料的微观结构、温度、压力及杂质含量相联系。在科学实验和工程设计

mohen_777的博客 873

Linux之Shell编程

基本介绍就是shell设计者事先定义好的变量。可以直接在shell脚本中使用基本语法$$ (功能描述:当前进程的进程号(PID))$!(功能描述:后台运行的最后一个进程的进程号(PID))$?(功能描述:最后一次执行的命令的返回状态。如果这个变量的值为0,证明上一个命令正确执行;如果这个变量的值为非0(具体是哪一个数,由命令自己来决定),则证明上一个命令执行不正确了。)正确实例在一个shell脚本中简单使用以下预定义变量函数介绍。

xiaoyao_zhy的博客 2098

AS7341可见光谱传感器原理图设计,已量产(光线传感器)

最近在做便携式环境光光谱检测项目时,我们基于 ams 的 AS7341 搭了一套硬件电路 —— 这颗芯片算是业内新一代的光谱传感 IC,8 个可见光通道 + NIR + 闪烁检测的配置,加上 6 路并行 16 位 ADC,数据吞吐能力确实够顶。今天就拆解下这个模块的硬件设计细节,聊聊实际做板时的那些考量点。

不脱发的程序猿 643

Linux【编写一个简单的shell】

通过让子进程执行命令,父进程等待,解析命令,即可完成对应的命令行解释器。(子进程如果执行命令出错了,也不会影响父进程)

芊樱烛渊的博客 2797

群辉NAS映射为本地盘符

鼠标右击网络→映射网络驱动器→以上适合通过局域网操作,采用ZeroTier组网后,也可以按照以上步骤实现,这时使用 “虚拟局域网”的IP地址。

dgnankai的专栏 5777

ScanNetV2 数据集讲解和选择性下载

写在前面的话: 不可转载!!!!!!!!!!!! ScanNetV2一共1.2T,数据太大本文会简单讲解如何下载自己想要的文件,并附上修改后的下载程序 ScanNetV2:http://www.scan-net.org/ 简介 ScanNetV2的作者是斯坦福大学的博士,其团队通过收集RGB-D的视频序列,通过ipad应用加深传感器而收集的,然后视频会被上传到服务器,并被自动重建。然后,视频会被给到亚马逊 Mechanical Turk,将标注工作众包出去。ScanNetV2是RGB-D数据集,.

qq_35781447的博客 2万+

最全Linux环境开发——shell编程

最全Linux环境开发——shell编程

拉依达不拉跨的博客 2526

AutoSAR系列讲解(入门篇)2.1-AppL概述

该章主要是讲解SWC是如何在ECU中分布的

雪云飞星的博客 4万+

linux的简单shell编程习题

linux的简单shell编程习题 1、编写脚本:输入hello输出hello,输入world,输出world 2、编写一个脚本,请问现在是上午么?如果输入:y/yes;则输出上午好;如果输入n/no,则输出下午好;否则输出,你输入有误。 3、编写脚本完成批量解压缩。 4、在/oldboy目录下批量创建10个文件,名称依次为oldboy-1 oldboy-2 oldboy-3 …………. o...

weixin_43996007的博客 7751

Qt代码-军用仿真系统基础框架

ui->mapClickLabel->setText(QString("地图点击:(%.1f, %.1f)米").arg(worldPos.x()).arg(worldPos.y()));emit simulationEvent(QString("添加实体: %1 (ID: %2)").arg(attr.name).arg(entity.id()));// 像素坐标→世界坐标(米)

寒寒豆豆软件公司的博客 169

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

LINUX——shell的简单编程

在磁盘损坏时,要先输入root密码,再在命令行中输入: fsck /dev/sda2 (发生错误的磁盘) 在fix命令行中输入yes回车 shell的基础编程 Shell: 第一行需要指定哪个程序来编译和执行脚本 #!/bin/bash 或 # ! /bin/sh 除了第一行使用#以外,其他行使用#表示注释行 变量命名: 变量命名必须以字母或下划线开头,后面可以跟字母、数字和下划线。任何其他字符都表示变量名的结束。 变量名关于大小写敏感。 eg : $ name=xxxxxx $ x=12

KujyouRuri的博客 223

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

简单理解Linux之shell编程

1,Shell是一个用c语言写的程序,通过Shell用户可以访问操作系统的内核2,Shell既是一种命令语言,又是一种程序设计语言3,Shell编程就是指shell脚本编程4,Shell编程和Java,php编程一样,只要有一个能编写代码的文本编辑器和一个能解释执行的脚本解释器就可以了。

m0_63130425的博客 544

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

Linux Shell编程的简单用法

第一个Shell脚本程序 1、#! 是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行 2、echo 控制台输出 建立 test.sh测试文件 vi /tmp/test.sh #!/bin/bash echo "Hello World" 保存退出后赋予文件权限 chmod +x test.sh ./test.sh 变量定义及使用 shell编程中分为两种变量,第一种是我们自己定义的变量(自定义变量),第二种是Linux已定义的环境变量 #!/bin/bash echo ${PATH} #使

buerba的博客 351

Linux Shell编程简单知识

一、Bash Shell常用命令1. type命令格式:type 参数命令 功能:判断一个命令是外部命令还是内部命令 参数分析如下: 参数 作用 无 显示出命令是外部命令还是内部命令 -t File:外部命令;Alias:表示该命令别名所设置的名称;Builtin:表示该命令为Bash内置的命令功能 -p 显示完整文件名(外部命令)或显示内置命令 -a 在PATH

IOT Dream_Maker 582

Linux实验二 SHELL 简单编程实验和较复杂的考勤模拟

3.3.5 写一个 shell 脚本,包含两个数字数组 array1 和 array2,分别初始化为{1,2,3,4, 5}和{1,4,9,16,25}。脚本生成并显示一个数组,其中的元素是这两个数组中 对应元素的和,数组中第一个元素是 1+1=2,第 2 个元素是 2+4=6 等。如果这个文件是一个普通文件,则打印文件所有者的名字和最后的修改日期。3.3.2 编写一个 bash 脚本程序,用 for 循环实现将当前目录下的所有.c 文件移到指定的目录下,最后在显示器上显示指定目录下的文件和目录。

apple_74345586的博客 2189

【Linux】一个超简单的shell编程

【Linux】一个超简单的shell编程 简单Shell编程 基于shell编程实现1²+2²+…+n²。 测试通过的Shell代码: #! /bin/bash echo “type n:”; read n sum=0 i=0 while [ “$i” -le $n ] do sum=$(($sum+$i*$i)) i=$(($i+1)) done echo “$sum”; 保存为“/ro...

weixin_43668040的博客 330

Linux命令行与shell编程——shell简单应用

shell简单应用

ZERO的博客 2413

Linux-shell编程简单程序

实验环境 VMware Workstation Pro下Linux Red Hat 内核版本:2.6.32一、使用shell编程实现输入一个分数返回分数的等级 1.使用vim进行程序编写 具体的程序如下: 其中第一行中#!/bin/sh 是指此脚本使用/bin/sh来解释执行,#!是特殊的表示符,其后面根的是此解释此脚本的shell的路径。 echo的作用是输出文本,而语句并不会将双引号中

wenkun_wang 1589

Linux下简单的shell编程(1)

shell中的运算符包含: 算数运算符 关系运算符 布尔运算符 字符串运算符 文件测试运算符 本节为测试常用算数运算符,在shell中的算数运算符含义与java基本相同,不同的是用法.注意在赋值的时候,例如:val=2 + 2; 用的符号的ESC下面的转移符号” ",数字与运算符之间需加空格. 接下来是shell中常用的运算符举例: 声明两个值不同的数学变量a,b则: +加法ex

Reborn_Chang的博客 735

Linux Shell 简单编程之求出n以内的素数

输入整数n,在终端中打印输出n以内的素数 打开linux终端,我这里用的操作系统是Ubuntu Linux,在终端或者桌面新建一个扩展名为 .sh的shell文件,输入以下代码:#get a prime from 1~value echo "enter a value :" read value isPrime(){ local var=$1 for((i = 2;i <= $var

skylake_的博客 5518
上一篇: 攻克学习多线程时碰到的难题 [转]
下一篇: Shell操作与简易编程(一)
ealpha
博客等级 码龄23年 1粉丝 52原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值