shell 基础

1.shell介绍(内置脚本)

程序开发的效率非常高,依赖于功能强大的命令可以迅速地完成开发任务(批处理)

语法简单,代码写起来比较轻松,简单易学

(1)什么是shell

shell(外壳)是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。shell 既是一种命令语言,又是一种程序设计语言

shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务

(2)什么是脚本

脚本简单地说就是一条条的文字命令,这些文字命令是可以看到的(用记事本打开查看、编辑)。

常见的脚本: JS(前端),JSP,PHP(后端),SQL,Shell

(3)shell种类

Linux中默认的shell是/bin/bash,流行的shell有ash、bash、ksh、csh、zsh

bash是大多数linux系统默认的shell,可以通过help命令来查看帮助

2.shell入门

(1)规范

代码规范:

#!/bin/bash        指定告知系统当前这个脚本要使用shell解释器

#echo 内容          输出内容(输出的内容如果包含字母和符号(不包含变量),则需要用引号括起来,如果是纯数字可以包也可以不包)

运行文件(4种  )   ./文件名     /home/文件名      /bin/bash 文件名      /bin/sh 文件名

文件命名规范:

文件名.sh           .sh是linux下bash shell 的默认后缀

(2)使用流程

创建 .sh文件      touch/vim

编写shell代码

执行shell脚本

eg1:创建test.sh,实现shell脚本程序,输出hello world!

touch test.sh                   #创建文件

vim test.sh                      #编辑文件

#!/bin/bash                     #告知系统当前这个脚本要使用shell解释器(必写)

echo “hello world!”          #输出语句

chmod +x test.sh            #修改权限(添加执行权限)

./test.sh(/root/test.sh) #运行文件

注意:运行时一定要写成 ./test.sh,而不是 test.sh,运行其它二进制的程序也一样,直接写 test.sh,Linux 系统会去 PATH(环境变量) 里寻找有没有叫 test.sh 的,而只有 /bin, /sbin, /usr/bin,/usr/sbin 等在 PATH 里,当前目录通常不在 PATH 里,所以写成 test.sh 是会找不到命令的,要用 ./test.sh 告诉系统说,就在当前目录找或者/root/test.sh从根目录找

eg2:使用root用户帐号创建并执行test2.sh,实现创建一个shelltest用户,并在其家目录中新建文件try.html

touch  test2.sh                  #创建文件

vim  test2.sh                    #编辑文件

#!/bin/bash                      #指定shell解释器

useradd  shelltest                #添加用户

touch /home/shelltest/try.html    #在添加的用户下创建文件

chmod  u+x   test2.sh           #修改权限

./test2.sh                         #运行文件

自学linux——11.shell入门的更多相关文章

  1. Linux Bash Shell入门教程

    Linux 系统根据 "#!" 及该字串后面的信息确定该文件的类型,关于这一问题同学们回去以后可以通过 "man magic"命令 及 /usr/share/m ...

  2. (转)linux bash shell 入门教程

    Shell Script(bash)简介 众所皆知地,UNIX上以小工具著名,利用许多简单的小工具,来完成原本需要大量软体开发的工作,这一点特色,使得UNIX成为许多人心目中理想的系统平台. 在众多的 ...

  3. 自学linux——12.shell进阶

    Shell进阶 当把在Windows中写好的脚本传到linux中使用时,在Windows下每一行结尾是\n\r,而Linux下则是\n,所以会多出来\r,在linux中运行脚本时,需执行: sed - ...

  4. Linux之shell入门

    一.编写规范 代码规范: #!/bin/bash [指定告知系统当前这个脚本要使用的shell解释器] shell相关指令 文件命名规范: 文件名.sh .sh是linux下bash shell 的默 ...

  5. Linux bash shell 入门

    https://www.cnblogs.com/cosiray/archive/2012/03/02/2377099.html

  6. 自学Linux命令行与Shell脚本之路

    自学Linux命令行与Shell脚本之路[第一回]:初识Linux   1.1 自学Linux Shell1.1-Linux初识 1.2 自学Linux Shell1.2-Linux目录结构 1.3  ...

  7. 自学Linux Shell11.6-退出shell

    点击返回 自学Linux命令行与Shell脚本之路 11.6-退出shell shell运行的每一个命令都是使用 退出状态码 告诉shell它已经运行完毕.退出状态码是一个0~255的整数值,在命令结 ...

  8. linux shell 入门

    本文是本人学习linux shell入门收集整理,不完全原创. 参考博文: http://www.cnblogs.com/suyang/archive/2008/05/18/1201990.html ...

  9. Linux Shell入门(转载)

    From:http://www.cnblogs.com/suyang/archive/2008/05/18/1201990.html 从程序员的角度来看, Shell本身是一种用C语言编写的程序,从用 ...

随机推荐

  1. 微信小程序使用async await的一些技巧

    在小程序onLoad事件中使用getItems(this) 和this.getItems() getItems(this)对应的方法为 this.getItems()对应的方法为 在getItems( ...

  2. Redis热点key优化

    热门新闻事件或商品通常会给系统带来巨大的流量,对存储这类信息的Redis来说却是一个巨大的挑战.以Redis Cluster为例,它会造成整体流量的不均知,个别节点出现OPS过大的情况,极端情况下热点 ...

  3. gitlab 设置分支保护功能及取消分支保护

      使用gitlab管理员账户登录gitlab系统 进入需要分支保护的项目 进行分支保护设置 保护开发分支策略配置 保护RC送测库分支策略配置 调整分支保护策略 效果展示 取消分支保护 效果展示

  4. Gym 100008E Harmonious Matrices 高斯消元

    POJ 1222 高斯消元更稳 看这个就懂了 #include <bits/stdc++.h> using namespace std; const int maxn = 2000; in ...

  5. centos 8.3安装 一键安装部署gitlab

    安装和配置gitlab必须的依赖包 [root@gitlabdev ~]#dnf install -y curl policycoreutils openssh-server perl 设置开机自启s ...

  6. SpringCloud:eureka的'eurekaAutoServiceRegistration'报错解决方法

    报错信息如下: org.springframework.beans.factory.BeanCreationNotAllowedException: Error creating bean with ...

  7. docker搭建数据库高可用方案PXC

    前言 本方案主要目的是学习, 该方案不太合适于企业项目 是什么? 白话点, 是个提供了必要环境的虚拟机(类似于java的导入部分包一样和c++的头文件差不多), 所以它比普通的VMWare或者Virt ...

  8. XCTF GAME

    首先这题有两种解法,一种是使用ida查看伪代码直接写exp跑出flag,另外一种是调试,因为最近在学调试,刚好用于实战上了. 一.查壳 二.32位文件拖入od动态调试 先找到game的主要函数,插件中 ...

  9. cron表达式详解(转)

    Cron表达式是一个字符串,字符串以5或6个空格隔开,分为6或7个域,每一个域代表一个含义,Cron有如下两种语法格式: (1) Seconds Minutes Hours DayofMonth Mo ...

  10. 如何为HttpServer服务器配置PHP FastCGI,从而让HttpServer具备动态交互能力

    一.软件准备 1.下载HttpServer :HttpServer.zip HttpServer是一款windows平台下基于IOCP模型的轻量级.高并发.高性能web服务器(参见文章). 2.下载W ...