家有两宝呀 发表于 2022-10-17 23:43

入门shell,了解基础命令,一天开始编写shell脚本

小华带你入门shell,了解基础命令,一天开始编写shell脚本题目

1.命令使用:echo、eval、exec、export、read、shift、exit(要求退出码为222) 这些命令的功能,以及用例
2.使用read从标准输入读取两个变量: name1和name2, 要求name1包含空格
3.定义自定义环境变量:(使用export和declare)
针对root用户的所有连接:root_data=root
针对所有用户的变量: all_data=all
查看所有的环境变量, 查看所有变量
4.脚本执行的方式及特点:用样例验证
5.设置vim编辑sh文件的缩进为4个空格
6.KaTeX parse error: Expected 'EOF', got '#' at position 1: #̲,*, @ , @, @,n,$?的使用


家有两宝呀 发表于 2022-10-17 23:49

一、shell的功能

​ Shell又称命令解释器,它能识别用户输入的各种命令,并传递给操作系统。它的作用类似于 Windows操作系统中的命令行,但是,Shell的功能远比命令行强大的多。在UNIX或者localhost中, Shell既是用户交互的界面,也是控制系统的脚本语言。

家有两宝呀 发表于 2022-10-17 23:49

二、shell脚本编写规范

(1)脚本文件名应见名知意,例如backup_mysql.sh

(2)文件开头指定脚本解释器 #!/bin/sh 或 #!/bin/bash

(3)开头加版本特权等信息

(4)脚本中尽量不要用中文注释 别吝啬添加注释,必要的注释方便自己别人理解脚本逻辑和功能; 尽量用英文注释,防止本机或切换系统环境后中文乱码的困扰; 单行注释,可以放在代码行的尾部或代码行的上部; 多行注释,用于注解复杂的功能说明,可以放在程序体中,也可以放在代码块的开始部分。

(5)多使用内部命令 常用的内部命令有:echo、eval、exec、export、read、shift、exit

家有两宝呀 发表于 2022-10-17 23:51

三、命令使用:echo、eval、exec、export、read、shift、exit(要求退出码为222) 这些命令的功能,以及用例

echo

可在屏幕上输出信息

家有两宝呀 发表于 2022-10-17 23:53

示例
@server day01]# echo -n I ; echo love ; echo xiaohua
Ilove
xiaohua
# echo -n I ; echo -n love ; echo   xiaohua
Ilovexiaohua
# echo -e "I\tlove\txiaohua"
I        love        xiaohua

家有两宝呀 发表于 2022-10-17 23:53

eval

命令格式:eval args

功能:当shell程序执行到eval语句时,shell读入参数args,并将它们组合成一个新的命令,然后执 行。
# a='information;head -1 /etc/passwd'
# echo $a
information;head -1 /etc/passwd
# eval echo $a
information
root:x:0:0:root:/root:/bin/bash

家有两宝呀 发表于 2022-10-17 23:56

export

设置或者显示环境变量

示例
# var_a=123456                   //定义变量
# export var_a                   //把var_a变为环境变量
# var_b=321                      //定义变量var_b
# bash                           //进入一个子进程
# echo $var_a ; echo $var_b      //输出var_a、var_b
123456                                              // var_a的值                                                             // 变量var_b没有值
# unset var_a                  //删除变量var_a
# echo $var_a

#

家有两宝呀 发表于 2022-10-17 23:57

read

命令可从标准输入读取字符串等信息,传给shell程序内部定义的变量。

-p prompt:设置提示信息

-t timeout:设置输入等待时间,单位默认为秒

家有两宝呀 发表于 2022-10-17 23:58

示例:# read -t 10 -p "please input your name:" name
please input your name:xiaohua
# echo $name
xiaohua
//使用read从标准输入读取两个变量: name1和name2, 要求name1包含空格
# read name1;read name2
xiaohua      
xiaoming
# echo $name1 ;echo $name2
xiao hua
xiaoming

家有两宝呀 发表于 2022-10-17 23:59

shift

在程序中每使用一次shift语句,都会使所有的位置参数依次向左移动一个位置,并使位置参 数$#减1,直到减到0为止。 exit,退出shell程序。在exit之后可以有选择地指定一个数作为返回状态
# vim test01.sh
#!/bin/bash
#########################
#File name:test.sh
#Version:v1.0
#Email:admin@test.com
#Created time:2022-08-16 13:24:31
#Description:
#########################//内容如下
shift
echo $@
# bash test01.sh 11 22 33 44
22 33 44

tpgf 发表于 2022-11-4 09:03

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

nawu 发表于 2022-11-4 09:17

Shell 编程跟 JavaScript、php 编程一样,只要有一个能编写代码的文本编辑器和一个能解释执行的脚本解释器就可以了。

aoyi 发表于 2022-11-4 10:10

变量名和等号之间不能有空格,这可能和你熟悉的所有编程语言都不一样。

zljiu 发表于 2022-11-4 10:33

使用一个定义过的变量,只要在变量名前面加美元符号即可

gwsan 发表于 2022-11-4 10:45

我们可以在执行 Shell 脚本时,向脚本传递参数,脚本内获取参数的格式为:$n。n 代表一个数字,1 为执行脚本的第一个参数,2 为执行脚本的第二个参数,以此类推……

tfqi 发表于 2022-11-4 11:22

Shell 的 echo 指令与 PHP 的 echo 指令类似,都是用于字符串的输出

sdCAD 发表于 2023-1-5 12:52

shell脚步还是比较复杂的。            

albertaabbot 发表于 2023-1-6 21:53

这个是电脑运行的脚步的吗?
            

wwppd 发表于 2023-1-6 22:52

这个怎么传递参数到命令?            

sheflynn 发表于 2023-1-9 11:43

串口运行shell的。            
页: [1] 2
查看完整版本: 入门shell,了解基础命令,一天开始编写shell脚本