当前位置: 首页 > ai >正文

Shell

Shell初识

Shell用C语言编写的程序,Shell即是一种命令语言,又是一种程序设计语言

建立在内核的基础上,面向用户的一种表现形式。

Shell环境:一个编写代码的文本编辑器和一个能执行脚本解释器

  • Bourne Shell(/usr/bin/sh或/bin/sh)
  • Bourne Again Shell(/bin/bash)
  • C Shell(/usr/bin/csh)
  • K Shell(/usr/bin/ksh)
  • Shell for Root(/sbin/sh)

运行Shell脚本的方法:

方法一:作为可执行程序

将代码保存为文件.sh并cd到相关目录

[root@localhost ~]# touch test.sh
[root@localhost ~]# vim test.sh 
[root@localhost ~]# chmod +x ./test.sh 
[root@localhost ~]# ./test.sh 
Hello World !
注意:一定要写成./test.sh,而不是test.sh,运行其他二进制的程序也一样。直接写test.sh,linux系统会去PATH里寻找有没有叫test.sh的,而只有/bin,/sbin,/usr/bin,/usr/sbin等在PATH里,你的当前目录通常不在PATH里,所以写成test.sh是会找不到命令的,要用./test.sh告诉系统说,就在当前目录找。

方法二:作为解释器参数

[root@localhost ~]# /bin/sh test.sh 

bsah特性

1.命令和文件自动补齐            yum -y install bash-completion

2.命令历史记忆功能                history

history  n           显示最近n个命令 

history -d   n     删除第n个命令

!n  执行历史命令第n条语句

!!执行历史命令最后一条语句

!$  引用上一条命令的最后一个参数    esc+.  alt+.

history -w 将历史命令写入命令历史的文件中

cat .bash_history 查看命令历史的内容

history -c  删除所有的历史命令

3.别名功能

alias         查看当前系统别名

unalias     取消别名定义

bash初始化

1.bash环境变量文件的加载

2.

/etc/profile        /etc/bashrc        ~/.profile        ~/.bash_login        ~/.bash_profile        

~/.bashrc        ~/.bash_logout

bash环境变量的加载

3.快捷键

ctrl+A:光标移动到开头

ctrl+C终止命令

ctrl+U删除光标之前的命令

ctrl+K删除光标之后的命令

ctrl+Z暂停,并放入后台

4.前后台作业控制

command & 直接让作业进入后台运行

ctrl+z           将当前作业切换到后台

jobs             查看后台作业状态

fg   %n        后台作业切换到前台

bg  %n        让指定的作业n在后台运行

kill  %n        杀死指定的作业

5.输入输出重定向

  (1.shell输出重定向

标准输出重定向  >  覆盖    >>追加

             

Shell变量

定义变量,变量名不加美元符号

命名规则:

命名只能使用英文字母,数字和下划线,首个字符不能以数字开头

中间不能有空格,可以使用下划线_

不能使用标点符号

不能使用bash里的关键字

直接赋值

your_name="runoob.com"

语句赋值

for file in `ls /etc`  或  for file in $(ls /etc)

http://www.xdnf.cn/news/6221.html

相关文章:

  • Apollo学习——aem问题
  • AI时代的弯道超车之第十二章:英语和编程重要性?
  • 【ROS2】【分步讲解】节点的使用以及引入消息接口的方法
  • 软件设计师考试《综合知识》计算机编码考点分析——会更新软设所有知识点的考情分析,求个三连
  • Qt之Qfile类
  • STM32-USART串口通信(9)
  • 材料疲劳E-N曲线的优势及其在疲劳仿真中的应用
  • 18、时序数据库 (TSDB) 存储高密度传感器数据组件 - /数据与物联网组件/tsdb-power-plant-archive
  • OpenSHMEM 介绍和使用指南
  • contains方法的实现对比
  • Java 源码 HashMap源码分析
  • ConcurrentHashMap
  • GeoServer发布WMTS详细过程
  • javaScript简单版
  • 详解Windows(十三)——Windows防火墙
  • k8s监控方案实践补充(一):部署Metrics Server实现kubectl top和HPA支持
  • ESG时代,EcoVadis认证如何提升企业国际竞争力
  • 苍穹外卖--菜品分页查询
  • 优雅的请求接口(java)
  • 制造业降本增效的核心要素
  • 通过SMTP协议实现Linux邮件发送配置指南
  • 0514得物、0509滴滴面试总结复盘
  • 20250514 无限空间,当 a(t)→0,所有‌物理距离‌ d→0 ‌,这个状态是什么,是无限大的无限致密状态吗
  • 什么是临时对象?临时对象在什么情况下产生?
  • 网络检测工具InternetTest v8.9.1.2504 单文件版,支持一键查询IP/DNS、WIFI密码信息
  • 自营交易考试中,怎么用“黄昏之星”形态做出漂亮反转单?
  • 2025年文化传播、心理学与公共管理国际会议(CPPM 2025)
  • unordered_map和unordered的介绍和使用
  • 解密企业级大模型智能体Agentic AI 关键技术:MCP、A2A、Reasoning LLMs- consistency is the key
  • acwing 1488. 最短距离 超级源点 最短路 堆优化Dijkstra