简单shell命令学习(一)

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

Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。

Ken Thompson 的 sh 是第一种 Unix Shell,Windows Explorer 是一个典型的图形界面 Shell。
1.创建sh文件
打开文本编辑器(可以使用 vi/vim 命令来创建文件),新建一个文件 shell.sh,扩展名为 sh(sh代表shell),即使没有扩展名也并不影响脚本执行,见名知意就好,如果你用 php 写 shell 脚本,扩展名就用 php 好了。
扩:创建命令可以多种方式
(1) 使用cat命令 例:cat>>text.sh
(2) 使用vim命令 例:vim text.sh。在新窗口输入i(编辑模式),输入内容,按esc(切换回命令模式)输入:wq( 保存并 退出)
(3) 使用touch命令 (本命令不常用) 例:touch text.sh

我们这里使用vim命令;


使用cat命令可查看文本内容
2.运行shell脚本
./text.sh

提示此信息为没有执行权限。那么我们给文件加权限
chmod +x text.sh

好,现在运行成功了。
**注:**一定要写成 ./test.sh,而不是 test.sh,运行其它二进制的程序也一样,直接写 test.sh,linux 系统会去 PATH 里寻找有没有叫 test.sh 的,而只有 /bin, /sbin, /usr/bin,/usr/sbin 等在 PATH 里,你的当前目录通常不在 PATH 里,所以写成 test.sh 是会找不到命令的,要用 ./test.sh 告诉系统说,就在当前目录找。

3、变量
text=‘seaiio’
注意,变量名和等号之间不能有空格,这可能和你熟悉的所有编程语言都不一样。同时,变量名的命名须遵循如下规则:

(1) 命名只能使用英文字母,数字和下划线,首个字符不能以数字开头。
(2) 中间不能有空格,可以使用下划线(_)。
(3) 不能使用标点符号。
(4) 不能使用bash里的关键字(可用help命令查看保留关键字)。
使用变量时,只要在变量名前面加美元符号即可,如:test=‘seaiio’; echo $test

4、字符串
字符串是shell编程中最常用最有用的数据类型(除了数字和字符串,也没啥其它类型好用了),字符串可以用单引号,也可以用双引号,也可以不用引号。单双引号的区别跟PHP类似。
单引号字符串的限制:
单引号里的任何字符都会原样输出,单引号字符串中的变量是无效的;
单引号字串中不能出现单独一个的单引号(对单引号使用转义符后也不行),但可成对出现,作为字符串拼接使用。
双引号的优点:
双引号里可以有变量
双引号里可以出现转义字符
例:

输出字符串个数

demo='hellow';
echo ${#demo}

结果

6

5、数组

#!/bin/bash
demo[1]='1'
demo[2]='2'
demo[3]='3'
length=${#demo[@]}      #获得数组长度
echo $length
echo ${demo[@]}         #获得数组元素

结果

下一篇 :简单shell命令学习(二)

简单shell命令学习(一)相关推荐

  1. 操作系统课设之简单 shell 命令行解释器的设计与实现

    前言 课程设计开始了,实验很有意思,写博客总结学到的知识 白嫖容易,创作不易,学到东西才是真 本文原创,创作不易,转载请注明!!! 本文链接 个人博客:https://ronglin.fun/arch ...

  2. 操作系统课程设计---实验十 简单shell命令行解释器的设计与实现

    实验十 简单shell命令行解释器的设计与实现 完整课程设计源码及其报告查看:陈陈的操作系统课程设计 1.实验目的 本实验主要目的在于进一步学会如何在 Linux 系统下使用进程相关的系统调用,了解 ...

  3. Hbase的shell命令学习

    在学习Hbase的shell命令,之前先得了解如何进入hbase的shell命令行,通过执行如下简单的命令回车后进入hbase的shell命令行界面 hbase shell 进入hbase命令行后,执 ...

  4. 蓝点中文_linux2.0 实验二 简单shell命令

    一.实验要求 1.掌握简单的shell命令:date ls cd pwd man clear cat grep call 2.中文输入法的启动与切换 3.通配符的含义与使用(*与?) 4.重定向管道( ...

  5. 【安卓学习之工具学习】adb初步学习--adb命令和shell命令学习

    原文连接http://blog.csdn.net/ljb568838953/article/details/52212427 感谢 博主:拜天地 一 . 测试环境讲解:  1.一台win7电脑  2. ...

  6. 基本shell命令学习

    Shell基本命令 Ls命令 -a:显示所有档案及目录(ls内定将档案名或目录名称为"."的视为影藏,不会列出): -A:显示除影藏文件"."和".. ...

  7. 简单git命令学习整理

    抽了空学习了廖雪峰老师git教程,然后对自己学习的几个命令做下笔记. git init : 初始化git仓库,会生成一个隐藏文件. .git ,没有特殊要求就不用去动它了哈. git add XXX( ...

  8. 【Linux】shell命令学习之find

    find命令主要用来进行文件或目录的查找. -print指明打印出匹配的文件名 -print0指明使用'\0'定界符来打印每一个匹配的文件名 -name:按文件名查找 -iname忽略字母大小写 如果 ...

  9. Linux shell 命令学习 大全

    转载于: https://www.csdn.net/gather_2b/MtjaQgzsNTMwNi1ibG9n.html 命令 -选项 参数 如果选项是一个单词时,选项前面要加2个- modprob ...

最新文章

  1. Webpack 最佳实践总结(一)
  2. FPGA之道(56)状态的编码方式
  3. Java架构师成长之道之Java数据计算
  4. MBA已经全面***“中国式教育”!
  5. 电能计量方案在智能插座产品上的应用之“我见”
  6. web开发中添加分享按钮
  7. Win11磁盘清理怎么没有了?Win11磁盘清理在哪打开?
  8. 怎么把图片格式转换成PDF呢?
  9. enumerate和iter的使用
  10. easyui 设置css样式,Easyui 条件设置行背景颜色_EasyUI 教程
  11. @Vaild,@Validated,@NotNull,@NotBlank,@NotEmpty史上最全用法以及各种踩坑细节
  12. 根据GPS定位得到的经纬度调用百度地图API在地图上标注
  13. 【不懂就问】CPU 到底是怎么识别代码的?
  14. 防火墙的基础知识——第一天
  15. 数据的存储结构有哪些?
  16. 想知道数字1-13的深层含义吗?
  17. Python爬虫入门到实战
  18. .NET Core使用Cookie做身份验证
  19. npx mrm@2 lint-staged执行报错
  20. 波士顿矩阵和新波士顿矩阵

热门文章

  1. 量化交易 米筐 因子分组打分(成长因子)
  2. android ble sample,BleManager ble library 和周边 ble 连接 sample @codeKK Android开源站
  3. 淘宝抓取宝贝买家秀核心代码
  4. 计算机网络-DHCP
  5. 【Window 入侵排查】
  6. 证书不被信任解决方法
  7. 初识分布式架构及意义
  8. CentOS yum方式安装ffmpeg
  9. RGB、YUY2、YUYV、YVYU、UYVY、AYUV格式详解
  10. Java SPI实现插件化