首页 > 系统相关 >Shell

Shell

时间:2023-06-07 11:11:32浏览次数:69  
标签:bin shell xxx sh Bourne Shell

Shell

学当以立德,百行当以德为首!

Shell概述

Shell工具
Shell在线编辑工具

Shell发展
Ken Thompsonsh是第一种Unix ShellWindows Explorer是一个典型的图形界面Shell

Shell风格
Shell风格有图形化Shell(GUI shell)、命令行shell(Command Line Interface shell,CLI shell)

Shell概念
Shell是一个用C语言编写的程序,它是用户使用Linux的桥梁,它既是一种命令语言,又是一种程序设计语言

Shell特点
访问操作系统内核的服务、提供文件名扩展字符即通配符(*、?、[])、无需创建新进程、允许灵活地使用数据流、模块化编程

Shell分类
Shell分为ShellShell脚本(shell script),Shell通常指Shell脚本ShellShell脚本两者却是不同

Shell环境
ShellJavaScriptPHP编程一样,只要有一个能编写代码的文本编辑器和一个能解释执行的脚本解释器就可以了

Shell种类
LinuxShell种类众多常见有:Bourne Shell(/usr/bin/sh或/bin/sh)、Bourne Again Shell(/bin/bash)

  • Bourne Shell(/usr/bin/sh或/bin/sh)
    • 一般不区分Bourne ShellBourne Again Shell,所以#!/bin/sh也可改为#!/bin/bash
    • #!代表告诉系统其后路径所指定的程序即是解释此脚本文件的Shell程序
  • Bourne Again Shell
    • Bourne Again Shell易用且免费被广泛使用,同时Bash也是大多数Linux系统默认的Shell
  • Shell其它不常用种类
    • C Shell(/usr/bin/csh)、K Shell(/usr/bin/ksh)、Shell for Root(/sbin/sh)、PowerShell

Shell编写

Shell后缀
Shell扩展名为sh

Shell运行
Shell脚本运行的两种方法:作为可执行程序、作为解释器参数

  • 作为可执行程序
    • 第一步编写sh代码并保存为xxx.sh,再cd进入到相应目录
    • 第二步通过命令chmod +x ./xxx.sh,使脚本具有执行权限(一定要写成./xxx.sh而不是xxx.sh
    • 第三步通过命令./xxx.sh,执行脚本
  • 作为解释器参数
    • 此方式是直接运行解释器,其参数是shell脚本文件,如:/bin/sh xxx.sh,且无需在第一行指定解释器信息

Shell语法

Shell变量
定义变量时变量名不加美元符号($,PHP语言中变量需要),如:your_name="zhr"
注意,变量名和等号之间不能有空格,这可能和你熟悉的所有编程语言都不一样。同时,变量名的命名须遵循如下规则:

命名只能使用英文字母,数字和下划线,首个字符不能以数字开头。
中间不能有空格,可以使用下划线 _。
不能使用标点符号。
不能使用bash里的关键字(可用help命令查看保留关键字)。

标签:bin,shell,xxx,sh,Bourne,Shell
From: https://www.cnblogs.com/zhr-cf-fc/p/17462575.html

相关文章

  • 7、hive shell客户端与属性配置、内置运算符、函数(内置运算符与自定义UDF运算符)
    ApacheHive系列文章1、apache-hive-3.1.2简介及部署(三种部署方式-内嵌模式、本地模式和远程模式)及验证详解2、hive相关概念详解--架构、读写文件机制、数据存储3、hive的使用示例详解-建表、数据类型详解、内部外部表、分区表、分桶表4、hive的使用示例详解-事务表、视图、物......
  • 【zsh使用技巧】Linux shell美化,ohmyzsh安装+Xshell美化,体验Mac命令行
    解决oh-my-zsh主题乱码问题解决RockyLinux下ohmyzsh按Tab键自动补全命令时重复字符且无法删除问题Solve:RemnantcharacterswhentabcompletingIseeduplicatetypedcharactersafterIcompleteacommand愿你美化半生,归来仍是默认一、背景厌倦了Linux单调的命令行,......
  • SRC漏洞挖掘未授权上传webshell
    以下是我如何将webshell上传到一个旧目标中,这是使用谷歌dorks,Js检查和文件上传过滤器绕过。过程1、我随机选择了一个范围很大的目标开始2、我启动了自动化脚本来发现使用的技术、domains、IP...3、我找到了一个叫intranet.redacted.com子域名,使用的服务器是IIS8或7,我不记......
  • 2023春秋杯 sigin_shellcode
    2023春秋杯春季赛sigin_shellcode分析ida打开,程序的主干如下,就是一个下落的游戏,主要有三个功能:menu:进行选择,继续下落或者退出shopping:用金币购买道具,用于增加攻击力down:下落,其中有一个获取金币的函数,以及到达100层时进行决战的函数。mainint__cdecl__noreturnmain(......
  • 基于《PythonCookbook》的学习(3)——利用 Shell 通配符做字符串匹配
    fnmatch模块提供了fnmatch()和fnmatchcase()两个函数可以使用通配符模式对文本进行匹配fnmatch所完成的匹配操作有点介乎于加单的字符串方法和全功能的正则表达式之间。感觉蛮鸡肋的…:(......
  • Docker for Windows 中文文档(2)——Set up tab completion in PowerShell
    在PowerShell中设置tab完成如果您希望为Docker命令提供方便的选项卡完成,可以按如下方式安装posh-dockerPowerShell模块。1.启动“elevated”PowerShell(即以管理员身份运行)。为此,请搜索PowerShell,右键单击,然后选择以管理员身份运行。当系统询问您是否允许此应用更改您的设备时,......
  • linux shell if else 多个选择条件的判断语句 语法
    该脚本为,如果满足i等于mysql、information_schema、performance_schema、db_sys_stat其中一个那么就跳出执行下面的。重点介绍:if条件语句[]左右两个都要有一个空格。#!/bin/bash#2012-12-25bycocoforiin`cat./db_list.txt`doif["$i"=="mysql"]||["$i"==......
  • Shell 切分字符串取出最后一段
    awk:#echo"1:3:5"|awk-F":"'{print$NF}'sed:#echo"1:3:5"|sed's/.*:\([^:]*\)$/\1/'1、shell中分割字符串之后怎么取得最后一个东西的值?如果可以的话,怎么将分割后的结果保存到一个数组中?https://zhidao.baidu.com/question/297800980.html......
  • Hbase shell 常用命令
    下面我们看看HBaseShell的一些基本操作命令,我列出了几个常用的HBaseShell命令,如下:名称命令表达式创建表create'表名称','列名称1','列名称2','列名称N'添加记录     put'表名称','行名称','列名称:','值'查看记录get'表名称','行名称�......
  • LINUX系列-shell脚本篇
    一批量创建用户[root@iZbp1el3hto8hhgtlih1m4Ztest]#vi1_useradd_piliang.sh#!/bin/bash#第一步获取到创建用户的名称,这里使用前台输入USER_LIST=$@#存放创建好的用户和密码USER_FILE=./new_user.log#开始进行循环forUSERin$USER_LIST;doif!id$USER......