热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

linux中shell脚本1

shell操作linux的桥梁创建:后缀为.sh的文件编写:头部注释为#!binsh或者#!binbash(注释可写可不写,建议写上)运行:1.通过sh命令执行例如:shhello

shell操作linux的桥梁

        创建:

                后缀为.sh的文件

        编写:

                头部注释为#!/bin/sh或者#!/bin/bash(注释可写可不写,建议写上)

        运行:

                1.通过sh命令执行

                        例如:sh helloworld.sh

                2.通过bash命令执行

                        例如:bash helloworld.sh

                3.通过把文件修改为可执行的文件然后通过./文件命令.sh来执行

                        例如:./helloworld.sh(必须在当前目录下)

变量(动态数据类型,没有数据类型的限制,并且必须初始化)

        定义和初始化

                格式

                        变量名称=值

                例如:

                        x=10 "abc edefg"

                注意:

                        等号两边不能有空格

        使用:通过$区分变量还是一句话

                格式1:

                        $变量

                格式2:

                        ${变量}

                注意:

                        格式1,会把$后所有相连内容看做一个变量

                        格式2,${}表示值引用{}之中的内容分,对相连的内容做了一个区分

$0...$n:表示接收外部参数(执行脚本时,传递的参数)

        格式:

                $下标

        注意:

                $0永远表示脚本名称(所以脚本名称不算数,$0也不算第一个参数)

                下标大于一位数只能使用${}获取参数,因为$下标只把第一位数据看做下标

                *获取所有参数

                $#获取所有参数个数

引号:

        单引号:安原字符串输出

        双引号:可以引用变量,拥有特殊含义的内容

        拼接:连续获取变量

        注意:

                如果有多个引号,连续的形成一对

                引号中使用其他引号,其他引号做字符串使用

字符串

        获取长度

                格式:

                        ${#变量}

        截取:

                格式:

                        ${变量:开始位置:长度}

                注意:

                        ${str::5}:从0获取5个

                        ${str:0}:从0获取到末尾

        替换单个

                格式:

                        ${变量/旧/新}

                注意:从左向右替换第一个

        替换所有

                格式:

                        ${变量//旧/新}

                注意:替换不会再原字符上进行修改,想要修改原字符串只能从新赋值

删除

        从头开始删除

                ${变量#表达式}:匹配第一个删除

                ${变量##表达式}:匹配最后一个删除

        从尾开始删除

                ${变量%表达式}:匹配第一个删除

                ${变量%%表达式}:匹配最后一个删除

        注意:从未开始删除,表达式还是从左向右去写

                删除不会再原字符上进行修改,想要修改原字符串只能从新赋值

运算符

        算术运算符

                bash不支持简单的数学运算,可以通过命令实现expr

                格式1:

`                        expr 值 + 值`

                        注意:符号两边需要加上空格

                格式2:

                        $[值+值]

        比较运算符: > <>&#61; <&#61;....

                格式:

                        $[值符号值](符号两边空格加不加无所谓)

                注意:比较的结果用1(true)和0(false)表示

        逻辑运算符: &/and |/or !/not

                例如:

                        #判断2>1结果

                        echo $[2 > 1]

                        #反转2>1结果

                        echo $[!$[2>1]]

                        #  反转后面的结果2>1 and 2>3  false0

                        echo $[!$[$[2>1]&$[2>3]]]

                        echo $[2>1 & 2<1]


推荐阅读
  • 数字图书馆近期展出了一批精选的Linux经典著作,这些书籍虽然部分较为陈旧,但依然具有重要的参考价值。如需转载相关内容,请务必注明来源:小文论坛(http://www.xiaowenbbs.com)。 ... [详细]
  • 本文介绍了如何在 Windows 系统上利用 Docker 构建一个包含 NGINX、PHP、MySQL、Redis 和 Elasticsearch 的集成开发环境。通过详细的步骤说明,帮助开发者快速搭建和配置这一复杂的技术栈,提升开发效率和环境一致性。 ... [详细]
  • Linux Shell变量初探:初始值解析与使用指南
    本文探讨了Linux Shell中变量的基本概念及其在BASH中的应用。变量是用于存储可变数据的标识符,能够代表不同的值。文章详细介绍了BASH shell的主要优势,包括强大的命令编辑能力、自动补全功能、命令别名设置、作业控制以及前后台任务管理。此外,还涵盖了编程脚本编写和通配符的使用方法,为初学者提供了全面的指导。 ... [详细]
  • 在Ubuntu系统中配置Python环境变量是确保项目顺利运行的关键步骤。本文介绍了如何将Windows上的Django项目迁移到Ubuntu,并解决因虚拟环境导致的模块缺失问题。通过详细的操作指南,帮助读者正确配置虚拟环境,确保所有第三方库都能被正确识别和使用。此外,还提供了一些实用的技巧,如如何检查环境变量配置是否正确,以及如何在多个虚拟环境之间切换。 ... [详细]
  • 1. 设置用户密码:使用 `slappasswd` 工具生成加密密码,确保账户安全。具体步骤如下:输入命令 `slappasswd -s NewPassword`,系统将提示重新输入新密码,并生成加密后的哈希值 {SSHA}xxxxxxxxxxxxxxxxx。2. 编写配置文件:编辑 `vildapus` 配置文件,添加必要的用户账户信息,以确保新用户能够顺利登录系统。 ... [详细]
  • 技术日志:Ansible的安装及模块管理详解 ... [详细]
  • Amoeba 通过优化 MySQL 的读写分离功能显著提升了数据库性能。作为一款基于 MySQL 协议的代理工具,Amoeba 能够高效地处理应用程序的请求,并根据预设的规则将 SQL 请求智能地分配到不同的数据库实例,从而实现负载均衡和高可用性。该方案不仅提高了系统的并发处理能力,还有效减少了主数据库的负担,确保了数据的一致性和可靠性。 ... [详细]
  • 如何在Linux系统中实现Windows风格的桌面环境:将Ubuntu 18.04定制为Windows主题界面
    如果您是从Windows转到Linux系统的用户,可能会觉得默认的Ubuntu主题和桌面环境缺乏吸引力和可定制性。尤其是对于习惯了Windows风格的任务栏和主题的用户,Ubuntu 18.04的橙色主题可能显得过于简洁。为了提升用户体验,可以通过安装特定的桌面环境和主题来实现类似Windows的界面效果。本文将详细介绍如何在Ubuntu 18.04中配置和定制桌面环境,使其具备Windows风格的外观和功能。 ... [详细]
  • MySQL 8.0 MGR 自动化部署与配置:DBA 和开源工具的高效解决方案
    MySQL 8.0 MGR 自动化部署与配置:DBA 和开源工具的高效解决方案 ... [详细]
  • Shell参数详解与应用
    本文详细介绍了Shell参数的种类及其应用,内容简洁明了,结构清晰。通过深入解析各类参数的功能和使用方法,旨在帮助读者更好地理解和掌握Shell编程技巧,提升实际操作能力。 ... [详细]
  • 掌握Linux Shell核心概念与基础技能,本文详细介绍了文件系统和安全管理中的`chmod`命令。`chmod`命令支持两种模式:符号模式和绝对模式。符号模式使用`ugo`表示用户类别,`rwx`表示权限类型;而绝对模式则通过八进制数值来精确设置不同用户的权限。此外,文章还探讨了其他重要的Shell命令和技巧,帮助读者全面理解和应用Linux环境下的文件管理和安全控制。 ... [详细]
  • 在项目开发过程中,掌握一些关键的Linux命令至关重要。例如,使用 `Ctrl+C` 可以立即终止当前正在执行的命令;通过 `ps -ef | grep ias` 可以查看特定服务的进程信息,包括进程ID(PID)和JVM参数(如内存分配和远程连接端口);而 `netstat -apn | more` 则用于显示网络连接状态,帮助开发者监控和调试网络服务。这些命令不仅提高了开发效率,还能有效解决运行时的各种问题。 ... [详细]
  • 在Linux系统中,为了提高安全性,可以通过设置命令执行超时和用户超时注销来防止因用户长时间未操作而带来的安全隐患。具体而言,可以通过编辑 `/etc/profile` 文件,添加或修改相关参数,确保用户在指定时间内无操作后自动注销。此外,还可以利用 `timeout` 命令来限制特定命令的执行时间,进一步增强系统的稳定性和安全性。 ... [详细]
  • 如何在Linux系统中利用crontab定时执行Shell脚本任务?
    在Linux系统中,如何实现定时执行任务脚本?在服务器日常运维过程中,经常需要定期执行某些任务,例如数据库备份、日志文件切割等。通过使用crontab工具,可以轻松配置这些周期性任务,确保它们按时自动运行,提高系统管理效率和可靠性。 ... [详细]
  • Shell 脚本中的数学运算与变量引用(第三部分)
    在本文中,我们将深入探讨 Shell 脚本中的数学运算和变量引用。Shell 提供了多种方法来进行数学计算,主要包括 `expr`、`$(( ))` 和 `let`。我们将详细解析这三种方法的具体应用和特点,帮助读者更好地理解和使用这些工具。 ... [详细]
author-avatar
hwongth
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有