您的位置:首页 > 娱乐 > 明星 > 网页设计软件adobe_郑州最好的人流医院_sem是什么基团_百度问答优化

网页设计软件adobe_郑州最好的人流医院_sem是什么基团_百度问答优化

2024/12/23 16:14:28 来源:https://blog.csdn.net/2302_81027474/article/details/144094890  浏览:    关键词:网页设计软件adobe_郑州最好的人流医院_sem是什么基团_百度问答优化
网页设计软件adobe_郑州最好的人流医院_sem是什么基团_百度问答优化

shell脚本命令(一)

一、Shell 基础知识

Shell的基本概念

定义: Shell 是操作系统中的命令解释器,位于用户与操作系统内核之间。它接收并解释用户输入的命令,将任务传递给操作系统内核执行,然后将执行结果返回给用户。Shell 使得用户能够通过命令行与操作系统交互,控制和管理计算机的各种资源和应用。Shell 是系统与用户之间的桥梁,通过 Shell,用户可以直接控制操作系统进行文件操作、程序执行、系统配置等。

Shell 脚本:

Shell 脚本是由一系列 Shell 命令组成的文件,可以自动执行任务,通常用于简化和自动化操作。Shell 脚本是一种解释型语言,不需要编译,它会逐行解释并执行脚本中的命令。通过编写 Shell 脚本,用户可以在多个操作系统中执行相同的任务,而无需手动输入每一条命令。

Shell 脚本的主要用途:

自动化任务:通过编写 Shell 脚本,用户可以自动执行重复性的任务,如文件备份、日志分析、定时任务等。 批量文件管理:Shell 脚本可以处理大量文件的管理任务,如批量重命名、移动、删除或修改文件内容等。 系统命令执行:系统管理员常常使用 Shell 脚本执行操作系统命令,如安装软件包、配置系统设置、管理用户权限等。 程序调度:Shell 脚本可与任务调度程序(如 cron)结合,定期执行特定任务,例如定时备份、数据清理等。 网络服务管理:Shell 脚本广泛用于配置和管理网络服务,例如启动和停止 Web 服务器、数据库服务器等。 常见Shell类型

/bin/sh:传统的Shell,最早由Steve Bourne在1970年代开发,因此也称为 Bourne Shell。许多脚本使用 /bin/sh 作为默认的Shell解释器。在现代Linux系统中,/bin/sh 通常是指向其他Shell(如 bash 或 dash)的符号链接。

/bin/bash:Bash(Bourne Again Shell)是Linux中最常用的Shell,它是Bourne Shell的增强版本,增加了更多的功能和灵活性,比如命令补全、历史命令、数组支持等。几乎所有Linux用户都在使用Bash作为默认Shell。

/bin/dash:Dash(Debian Almquist Shell)是一个轻量级、高效的Shell,常用于需要快速启动和执行脚本的场景,特别是在Debian及其衍生发行版中。与 bash 相比,dash 提供的功能较少,但它遵循POSIX标准并执行速度更快,因此被许多系统(如Ubuntu)选择作为 /bin/sh 的实现。dash 适用于那些没有依赖 bash 特有功能的脚本,并且在执行效率上有优势。

/sbin/nologin 和 /usr/sbin/nologin:这两者并不是Shell,而是一个特殊的程序,用于阻止某些用户通过Shell登录系统。通常,系统管理员或受限账户(例如服务账户)会被配置为使用这类Shell,以防止他们直接访问系统。这些Shell会向用户显示一条“登录已禁用”的消息,并拒绝任何登录尝试。

Shell脚本的特点

解释型语言:Shell 脚本属于解释型语言,不需要事先编译。Shell 解释器会逐行解析并执行脚本中的命令,适合快速开发和调试,尤其是在系统管理和自动化任务中。 交互性:Shell 提供了交互式命令行界面,支持用户在运行脚本时与其交互。用户可以在脚本执行过程中提供输入,根据输入的内容,脚本可以执行不同的操作。 灵活性:Shell脚本支持多种命令类型,包括内置命令、外部命令、以及通过脚本自定义的命令。通过控制结构(如条件语句、循环语句等),Shell脚本能够执行复杂的逻辑和任务。 可移植性:大多数 Shell 脚本可以在不同的操作系统和Shell解释器上运行。虽然有些Shell具有特定的功能,Shell脚本在不同系统上的兼容性通常较好,可以帮助开发人员实现跨平台自动化任务。

sh和source

sh和source的区别在于颜色,更加醒目,其他没区别

简单变量创建

name="xiaoyu"echo $name
age="18"echo $ageecho my name is $name, my age is $age

单引号与双引号的区别

  • 单引号:所见即所得,即将单引号内的内容原样输出,任何字符都只会当成普通字符,除了单引号本身。

  • 双引号:把双引号内的内容输出出来,如果内容中有命令、变量等,会先把变量、命令解析出结果,然后再输出最终内容。

指定删除某个变量

unset name

查找某个指定变量

set | grep name

运行shell脚本

  • ./:表示当前目录。如果没有 ./,Shell 会在系统的 PATH 环境变量中查找该脚本,而不会默认查找当前目录。使用 ./ 使脚本能够在当前目录下执行。

source 1.sh
sh 1.sh
./1.sh

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com