动手写第一个shell

xtusir xtusir     2022-08-03     307

关键词:

1、编辑器、编译器、运行方法(脚本的3种执行方法)
(1)shell程序是文本格式的,只要是文本编辑器都可以。但是因为我们的shell是要在linux系统下运行的,所以换行符必须是'\n',而windows下的换行符是"\r\n",因此windows中的编辑器写的shell不能在linux下运行。所以我们整个课程都是在linux下使用vi编辑器(实际上是vim)进行编写调试的。
(2)编译器  不涉及,因为shell是解释性语言,直接编辑完就可以运行。
(3)shell程序运行的运行有多种方法,这里介绍三种方法:
第一种:./xx.sh,和运行二进制可执行程序方法一样。这样运行shell要求shell程序必须具有可执行权限。chmod a+x xx.sh来添加可执行权限。
第二种:source xx.sh,source是linux的一个命令,这个命令就是用来执行脚本程序的。这样运行不需要脚本具有可执行权限。
第三种:bash xx.sh,bash是一个脚本程序解释器,本质上是一个可执行程序。这样执行相当于我们执行了bash程序,然后把xx.sh作为argv[1]传给他运行。

2、hello world程序和解释
(1)shell程序的第一行一般都是: #!/bin/sh  这行话以#!开始,后面加上一个pathname,这行话的意思就是指定shell程序执行时被哪个解释器解释执行。所以我们这里写上/bin/sh意思就是这个shell将来被当前机器中/bin目录下的sh可执行程序执行。
可以将第一行写为:#!/bin/bash来指定使用bash执行该脚本。
注意:在ubuntu上面默认使用的解释器sh其实不是bash,而是dash。dash是ubuntu中默认使用的脚本解释器。

注意hello.sh的权限,我们修改为chmod 777 hello.sh,同时echo "Hello World!"要注意echo后面有个空格,没空格不能执行。
(2)脚本中的注释使用#,#开头的行是注释行。如果有多行需要注释,每行前面都要加#。(#就相当于是C语言中的//)
(3)shell程序的正文,由很多行shell语句构成。

3、shell并不神秘
(1)shell就是把以前命令行中键入执行的命令写成了程序。shell其实就是为了避免反复的在命令行下手工输入而发明的一种把手工输入步骤记录下来,然后通过执行shell脚本程序就能再次复述原来记录的手工输入过程的一种技术。
(2)shell编辑完可以直接运行(不需编译)

spring写第一个应用程序

ref:http://www.importnew.com/13246.html让我们用Spring来写第一个应用程序吧。完成这一章要求:熟悉Java语言设置好Spring的环境熟悉简单的EclipseIDE的操作如果你还没有设置好环境,请参考Spring开发环境的配置。我们第一个程序是打印”Hell... 查看详情

c++第三十五篇--写第一个驱动开发程序

VS2017+WDK+VMware12+Win10环境配置完毕,接下来写第一个驱动程序。1、新建一个KMDF的程序。2、配置项目属性。3、编译项目。一般这里应该成功,我一台电脑成功了,另一台电脑失败了。两台电脑OS的版本不同,一个1803(失败),一... 查看详情

egg.js24.2写第一个api接口(代码片段)

写第一个api接口安装vscode扩展创建控制器asyncindex()constctx=this;//获取路由get传值参数(路由:id)ctx.params;//获取url的问号get传值参数ctx.query;//响应ctx.body='响应';//状态码 ctx.status=201; 查看详情

pycharm中安装pygame并写第一个程序

第一步:打开Pycharm第二步:点File->DefaultSettings->ProjectInterpreter->点加号 第三步:搜索Pygame->InstallPackage 然后就安装好了,新建一个project试试吧。importpygame,sysfrompygame.localsimport*white=255,255,255blac 查看详情

教女朋友写第一个php

 1首先下载xampp软件。按默认安装好之后在电脑的右下角的箭头里能发现一个橘色的小图标双击它 启动阿帕奇和mysql会变绿 2打开C:xamppapache文件夹找到httpd.conf文件用记事本打开寻找DocumentRoot关键词把默认工作位置设置... 查看详情

用intellijidea写第一个java程序

Java小白,还不怎么会eclipse,只会在命令行用javac编译并java运行编译后的类。英文还不好orz发现创建项目后,能build但就是不能run。。。找了半天教程没找着,去官网溜了一下。还是官网的靠谱啊。。。传送门:https://www.jetbrains.c... 查看详情

用vs2019写第一个python程序-hello,python!

第一步:  打开VisualStudioInstaller,安装上Python开发环境。  第二步:  打开VS2019,新建Python项目,这里我选择了新建一个Python命令行应用程序。    解决方案命名为:HelloPython    生成的解决方案如图:  第三步... 查看详情

[flutter]写第一个flutterapp,part1要点(代码片段)

模拟器中调试元素的布局:  AndroidStudio右侧边栏FlutterInspector,选择ToggleDebugPaint打开。格式化代码:  编辑器中右键ReformatCodewithdartfmt。 使用外部功能包(https://pub.dartlang.org/flutter):  把外部包名加到pubspec.yaml的depen... 查看详情

translucentsystembar的最佳实践

...几天准备抽空总结Android一些系统UI的实践使用,于是开始动手建了一个库 AndroidSystemUiTraining ,边撸代码边写总结今天开写第一篇,对TranslucentSystemBar的实践做一些总结。说起TranslucentSystemBar的特性,可能有些朋友还比较陌... 查看详情

从零开始学习python3讲义写第一个程序(代码片段)

《从零开始PYTHON3》第三讲本页面使用了公式插件,因博客主机过滤无法显示的表示抱歉,并建议至个人主页查看原文。?我见过很多初学者,提到编程都有一种恐惧感,起源是感觉编程太难了。其实,难的也不过是开头第一步,... 查看详情

如何写第一个属于自己的web页面(django)

...yCharm组合配置的Web开发的基础架构。这期带读者跟着作者写第一个属于自己的Web页面,同时跟作者同一个局域网的其它用户也可以访问。首先输入pythonmanage.pystartappmyFamilyWeb(表示创建一个自己的Web页面项目),如图1。生成的myFamily... 查看详情

怎样开始写第一个基于python的selenium脚本

1、下载并安装python2、安装selenium下载并解压缩selenium-2.32.0.tar.gz.把selenium-2.32.0\\py\\下的selenium整个文件夹放入Python33\\Lib\\site-packages目录下。3下载Eclipse后安装pydev插件4打开eclipse创建pydevproject,并添加一个PydevModule输入一下代码#codin... 查看详情

自己动手写一个操作系统——总目录

自己动手写一个操作系统——我们能做什么,我们需要做什么自己动手写一个操作系统——MBR(1)自己动手写一个操作系统——MBR(2)自己动手写一个操作系统——MBR(3)_调试自己动手写一个操作系统——MBR(4)_调试_elf_bin自己动手... 查看详情

自己动手写一个操作系统——总目录

自己动手写一个操作系统——我们能做什么,我们需要做什么自己动手写一个操作系统——MBR(1)自己动手写一个操作系统——MBR(2)自己动手写一个操作系统——MBR(3)_调试自己动手写一个操作系统——MBR(4)_调试_elf_bin自己动手... 查看详情

自己动手写一个操作系统——总目录

自己动手写一个操作系统——我们能做什么,我们需要做什么自己动手写一个操作系统——MBR(1)自己动手写一个操作系统——MBR(2)自己动手写一个操作系统——MBR(3)_调试自己动手写一个操作系统——MBR(4)_调试_elf_bin自己动手... 查看详情

写第一个python程序,通过python读取excel(代码片段)

通过已经安装的包,xlrd去读一个excel信息。这里为了方便,将excel直接语py文件写在一起。  importxlrd;wb=xlrd.open_workbook("招生表.xls");ws=wb.sheets()#所有sheet的名字wnames=wb.sheet_names()print(wnames)#不同方式获取sheet#sheet1=wb.sheet_by_index... 查看详情

第七章shell脚本

...ell,常见的声明是#!/bin/bash,其他的还有#!/bin/sh,#!/bin/csh写第一个shell脚本吧可以使用alias命令查看系统当前的别名,也可以用alias别名=‘真实命令’来执行;重定向输出是将输出到标准输出设备的数据重新定向到另一个地方;... 查看详情

手把手教你写第一个微信小程序页面(代码片段)

搭建第一个小程序页面1.首页效果以及实现步骤  新建项目并梳理项目结构配置导航栏效果配置tabBar效果实现轮播图效果实现九宫格效果实现图片布局2.接口地址获取轮播图数据列表的接口【GET】https://www.escook.cn/slides获取九宫格... 查看详情