shell基础-脚本执行方式-helloworld

1. echo输出命令

  • 命令:echo [选项] [输出内容]
    选项: -e 支持反斜线控制的字符转换
控制字符 作用
\ 输出\本身
\a 输出警告音
\b 退格键,也是向左删除键
\c 取消输出行末的换行符。和“-n”选项一致
\e ESCAPE键
\f 换页符
\n 换行符
\r 回车符
\t 制表符,也就是tab键
\v 垂直制表符
\0nnn 按照八进制ASCII码表输出字符。其中0为数字零,nnn是三位八进制数
\xhh 按照十六进制ASCII码表输出字符。其中hh是两位十六进制数

举个栗子:

  • 命令: echo -e "ab\bc"
    作用: 删除左侧字符
  • 命令: echo -e "a\tb\tc\nd\te\tf"
    作用: 制表符与换行符
  • 命令: echo -e "\x61\t\x62\t\x63\n\x64\t\x65\t\x66"
    作用: 按照十六进制ASCII码也同样可以输出
  • 命令: echo -e "**\e[1;** 31m abcd **\e[0m**"
    作用: 输出颜色
代码 颜色
30m 黑色
31m 红色
32m 绿色
33m 黄色
34m 蓝色
35m 洋红
36m 青色
37m 白色

开始实验:
在这里插入图片描述
在这里插入图片描述

2. 第一个脚本

命令: vi hello.sh
作用: 创建一个脚本
注意: (1) Linux是不区分扩展名的,如果写成.sh,作用是告诉系统我写的bash脚本,如果用的不是vi,用的vim编译器,尝试用颜色来帮助我们写代码。如果非点不写扩展名也是可以的。
(2) 在Linux配置文件中,如果是用#的或相当于是注释,但是#!/bin/Bash不是注释,是一个标称,标称以下写的是shell脚本。

开始实验:

  • (1) 写一个脚本,输出hello,world
    在这里插入图片描述
    在这里插入图片描述
    小提示: (1) Linux当中所有的执行文件,不管是我们写的shell脚本,还是二进制的执行命令,要想运行都必须使用绝对路径,或者相对路径,让系统找着,才可以执行。
    但是ls也是可执行程序,那这个命令为什莫不敲绝对路径就可以直接执行??? 这个跟环境变量有关系。
    (2)bash hello.sh 是通过这个shell来解释这个脚本, 只要写的语句是标准的,是完整的,连执行权限都不用给,就可以执行,但是习惯使用第一种方法。

3. 脚本执行

  • 赋予执行权限,直接运行
    chmod 755 hello.sh
    ./hello.sh
  • 通过bash调用执行脚本
    bash hello.sh

开始实验:
在这里插入图片描述

4.格式问题的解决

  • 问题描述: 就是我们从Windows中导入到Linux中的脚本文件会出现不能执行。有可能是格式的问题。在Linux中回车符识别为 $ ,cat –A 文件名 是查询文件中所有的文件内容的包括隐藏字符,有的时候回车符会出现^M$,原因:这个脚本程序是在windows当中编辑成功的,而不是在Linux当中,在Windows当中的回车符和Linux当中的回车符不一样,因为回车符的不同所以在Linux中执行在Windows当中编写的程序之后就会发生格式不匹配。
  • 解决方法: 从Windows格式转换成Linux格式,这种转换不需手工来进行,可以使用dos2unix 文件名这个命令的含义是从dos到unix从windows格式Linux格式,如果没有这个这个软件可以手工yum -y install dos2unix安装上即。同理: unix2dos 从Linux格式转化window。
    在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_46818279/article/details/107179473
今日推荐