1.变量
Shell脚本中的变量是一段文本,代表了一个值或对象。在Shell脚本中,通常使用变量来存储命令行参数、计算中间值、存储文件名,存储用户输入等信息,可以根据需要使用、修改或打印出来。
1.1 变量赋值
在Shell脚本中,可以通过以下方式定义变量:
直接赋值:使用等号(=)赋值。
#!/bin/sh
name="hello world"
echo $name # 输出 name
echo ${name} # 输出 name
加花括号是为了帮助解释器识别变量的边界
例如:
#!/bin/sh
name="hello world"
echo "$name" # 输出 name
echo "Hi ${name}" # 输出 name
输出
hello world
Hi hello world
1.2 读取用户的输入
接收外部用户输入的命令
#!/bash/bin
echo "please input your name:"
read name
echo "Hi ${name}"
1.3 接收命令执行结果
用反单引号``
或者$()来执行命令,将命令的输出结果赋值给变量
示例
#!/bash/bin
count=`ls -l | grep "^-" | wc -l` #统计当前文件夹下文件的数量
echo $count
count1=$(ls -l | grep "^-" | wc -l)
echo ${count1}
输出
6
6
1.4 环境变量
环境变量 使用“export”命令声明一个变量为环境变量,环境变量可被子进程继承使用
示例
#!/bash/bin
export SERVER_NAME="localhost"
echo "server name is: $SERVER_NAME"
输出
server name is: localhost
1.5 只读变量
只读变量使用readonly
命令将变量声明为只读变量,不允许修改
示例
#!/bash/bin
readonly fruit="apple"
echo $fruit
fruit="banana"
echo $fruit
输出
apple
*.sh: line 6: fruit: readonly variable
1.6 删除命令
unset命令用于删除一个已设置的变量或者函数; unset命令将会使用在下列场景中:
1.6.1 删除变量
删除变量,当你运行一个脚本时,会产生很多临时的变量,这些变量在脚本执行之后不再需要。为了保持环境变量的清洁,你可以使用unset命令删除变量,防止它们继续占用内存空间。
示例
#!/bash/bin
myvar="hello world"
echo $myvar
unset myvar
echo $myvar #输出为空
输出
hello world
1.6.2 删除数组
删除数组,可以使用unset命令删除数组中的一个元素或整个数组。
示例
#!/bin/sh
myarr=("apple" "banana" "orange")
echo ${myarr[@]} #apple banana orange,打印所有的元素
unset myarr[1] #删除第二个元素 banana
echo ${myarr[@]} #apple orange
unset myarr #删除整个数组
echo ${myarr[@]} # 空
输出
apple banana orange
apple orange
1.6.3 删除函数
删除函数,当一个函数在脚本中不再需要时,你可以使用unset命令将其从内存中删除,节省资源。但是,建议只在确定函数不再使用时使用此命令。
示例
#! /bin/bash
hello(){
echo "Hello world"
}
hello # Hello world
unset -f hello
hello # 抛出 "command not found" 的错误信息
输出文章来源:https://www.toymoban.com/news/detail-502350.html
Hello world
*.sh: line 7: hello: command not found
使用 unset 命令可以有效地清理Shell环境中的不需要的变量、数组和函数,释放系统资源,同时避免对后续逻辑产生影响。文章来源地址https://www.toymoban.com/news/detail-502350.html
到了这里,关于Shell Script—变量的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!