shell变量的赋值https://blog.51cto.com/u_14881361/2673174
格式为:变量名=变量值
。
🐖
直接赋值时禁止在 等号= 两端添加空格。
name=hahah
echo $name
# 输出 hahah
从键盘读入赋值的命令格式为:read -p ["提示信息:"] [变量名]
read命令被用来从标准输入读取单行数据(交互式),赋值给变量名。
read -p "input varname:" tmpname
echo $tmpname
输出:
read -p "input varname:" 手动输入
使用命令行参数赋值是直接在命令后面跟参数,系统用$1
来调用第一个参数,使用$n
来调用第n个参数。
🐖这种赋值方式适用于参数经常变化且不需要交互的情况。
# vi test.sh
#!/bin/sh
echo $1 $2
执行 sh test.sh 1 2
输出1 2
在赋值语句中使用反向单引号。
a=`date`
echo $a
# 输出时间
🐖反向单引号里必须是可以在shell中直接运行的命令
这种方式适用于处理大批量的数据,直接把相应的数据写入文件中。这种方式通常是循环一行行读入数据,即每循环一次,就从文件中读入一行数据,知道文件的结尾。
eg:将读取到的文件每一行都将读取到的内容,以此命名 创建一个文件,每次创建停止3秒,如此循环,直到读取完毕。
#!/bin/bash
for line in `cat delname`
do
mkdir /root/$line
echo "yes"
sleep 3
done
for line in `cat delname`
等价于
for line in $(cat delname)