shell编程 - 基础篇

news/2024/11/14 22:36:50/文章来源:https://www.cnblogs.com/kyle-7Qc/p/18546978

1. Shell简介

	Shell是一个C语言编写的脚本语言,它是用户与Linux的桥梁,用户输入命令交给Shell处理,Shell将相应的操作传递给内核(Kernel),内核把处理的结果输出给用户。

2. Shell编程语言必知必会

  1. shell命令解释器:bash编程

  2. 常用命令解释器.

    命令解释器
    bash 目前应用最广泛一款命令解释器,红帽系列(默认),Debian,Ubuntu, BASH全称: Bourne-Again SHell
    dash 一般debian/ubuntu系统默认的, 运行脚本推荐使用 bash xxx.sh
    csh,tcsh 一些unix系统使用
    zsh 功能更多,支持更多的插件,可以更好看。

    ⚠shell脚本(.bash .sh),运行在ubuntu中的时候,不推荐使用sh 运行,推荐使用bash运行.

3. 第一个shell脚本

3.1 脚本文件

  • .sh结尾

    # vi test.sh
    #!/bin/bash
    echo "Hello world!"
    
  • sha-bang

  • 并非注释的意思,写在脚本开头.用于指定脚本默认的命令解释器

  • 第二行打印Hello world!

    命令解释器 写法
    bash #!/bin/bash
    python #!/usr/bin/python2 或 ʿ /usr/bin/env python2

3.2 执行脚本

  1. 直接用bash解释器执行

    # bash test.sh
    Hello world!
    
  2. 添加可执行权限

    # ll test.sh
    -rw-r--r--. 1 root root 32 Aug 18 01:07 test.sh
    # chmod +x test.sh
    # ./test.sh       
    -bash: ./test.sh: Permission denied
    # chmod +x test.sh
    # ./test.sh # ./在当前目录
    Hello world!
    
    • 这种方式默认根据脚本第一行指定的解释器处理,如果没写以当前默认Shell解释器执行。
  3. source命令执行,以当前默认Shell解释器执行

    # source test.sh
    Hello world!
    

3.3 执行方式概述

执行方法 应用场景与说明
通过sh或bash🌟🌟🌟🌟 书写脚本后,最常用的方式, 🌟
⚠ 在其他非红帽系统中,建议使用bash 运行脚本 .
通过.(点)或source 🌟 🅰 加载/生效配置文件( 环境变量,别名 )
🅱 常用:可以用来实现 include功能 ,把其他脚本引入到当天脚本中
通过相对或绝对路径 不推荐使用.
输入重定向符号 不推荐使用.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/833677.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

第四届光学与机器视觉国际学术会议(ICOMV 2025) 2025 4th International Conference on Optics and Machine Vision

第四届光学与机器视觉国际学术会议(ICOMV 2025)2025 4th International Conference on Optics and Machine Vision重要信息官网:https://ais.cn/u/vEbMBz

【os】操作系统是怎样一步步接收键盘按键的?

你有没有想过,按下键盘按键后,相应的字符是怎么一步步显示在屏幕上的? 首先来看硬件部分,你至少应该能想到必须得有键盘和CPU:之后呢,cpu是怎么知道有键盘按下呢? 为了让键盘按下按键后能通知到CPU,需要借助键盘控制器,keyboard controller,这当然也是硬件:当按下按…

Kafka学习day01

Kafka的学习day01-Kafka基础环境的搭建Kafka Centos7环境搭建 1. 安装Zookeeper 1.1 官网下载安装包ZooKeeper官网下载地址1.2 使用Xftp或远程工具将ZooKeeper安装包上传文件到服务器或虚拟机1.3 编写配置文件 进入ZooKeeper安装目录 cd {安装目录}/conf/1.3.1 配置文件模版 # …

从数据到知识,知识中台赋能企业智能化升级

在信息爆炸的时代,企业面临着数据泛滥与知识匮乏的双重挑战。如何将海量的数据转化为有价值的知识,进而驱动企业的智能化升级,已成为企业竞争力的关键。知识中台作为企业数字化转型的核心,正逐渐成为企业智能化升级的新引擎。 一、数据与知识的转化 数据本身并不等同于知识…

基于Java+SpringBoot+Mysql在线课程学习教育系统功能设计与实现十

审核前台用户认证信息、查看所有用户、订单、发布文章、发布常见问题等。 该系统总共24张表,代码整洁,每个功能、接口上都有注释说明。 运行环境:jdk1.8、mysql5.x、eclipse/idea、maven3.5/3.6 包远程运行的哦。 特色功能:发布课程、学习课程、分享资料、资料讨论等。 部分…

基于Java+SpringBoot+Mysql在线课程学习教育系统功能设计与实现九

该系统总共24张表,代码整洁,每个功能、接口上都有注释说明。 运行环境:jdk1.8、mysql5.x、eclipse/idea、maven3.5/3.6 包远程运行的哦。 特色功能:发布课程、学习课程、分享资料、资料讨论等。 部分功能:前台课程评论信息控制器Controller、优惠卷信息控制器Controller、…

SharePoint Online页面的一些奇怪参数

前言最近,在查找资料的时候,偶然间发现了一些非常有意思的参数,如下:?env=Embedded or ?env=WebView&wdStartOn=21.正经的SharePoint Online页面2.加了参数的SharePoint Online 页面3.加了另一个参数的SharePoint Online页面结束语相信大家看效果就已经发现了,参数是…

Alpha冲刺(2/14)——2024.11.13

目录一、团队成员分工与进度二、成员任务问题及处理方式三、冲刺会议内容记录会议内容四、GitHub签入记录及项目运行截图GitHub签入记录项目运行截图五、项目开发进展及燃尽图项目开发进展燃尽图六、团队成员贡献表 一、团队成员分工与进度成员 完成的任务 完成的任务时长 剩余…

PS端Flash固化

PS端Flash固化Vivado版本:Vivado2020.2 芯片型号:RFSoC XCZU47DR 前提条件:Vitis工程编译完成,拨码开关拨到PS JTAG模式创建引导镜像 首先右键应用工程系统,点击Create Boot Image。检查镜像工程的文件是否为固化需要的工程文件,点击创建镜像的选项即可完成创建,创建完成…

Office Word 文档格式与目录样式(毕业设计论文常用)

调整格式技巧: Word 中点击 “文件”--》"选项"--》“显示”,将高亮部分全部打钩,有利于查看格式字符、 “分页符” 和“分节符” 两个很有用, 其中分节符 前后的页码是独立的。 样式间的关系: 类比 C++ 中类的继承编写的伪代码,“正文”为基类,派生出 “论文…

想不到新版的onenote配色这么好看

原来一直在用office自带的onenote,想不到新版的onenote配色这么好看。

[豪の学习笔记] 计算机网络#001

计算机网络概念、网络协议、计算机网络结构、Internet结构、电路交换、多路复用、报文交换与分组交换1.1.1 - 什么是计算机网络 计算机网络 = 通信技术 + 计算机技术计算机网络就是一种特殊的通信网络 定义:计算机网络就是互联的、自治的计算机集合 自治:无主从关系 互联:互…