前言:
如今看官们对“ubuntushell变量”大体比较注意,小伙伴们都需要了解一些“ubuntushell变量”的相关知识。那么小编同时在网上网罗了一些有关“ubuntushell变量””的相关文章,希望姐妹们能喜欢,小伙伴们一起来学习一下吧!格式:
#! /bin/bash
...
exit 0
Linux(Ubuntu)默认使用bash程序,其中exit 0表示脚本执行成功
与终端交互
#从终端读取参数,会从当前行阻塞
read var
#向终端打印hello
echo “hello”
Shell系统变量
$? :表示保存前一个命令的返回值
$0 :当前程序名
$1 :第一个参数
$2 :第二个参数
$n :第n个参数
$# :保存参数的个数
$* : 以("$1 $2 …")的形式保存所有输入的命令行参数(保留输入区分隔符)。
$@ : 以("$1" "$2" …)的形式保存所有输入的命令行参数(不保留输入区分隔符)。
$HOME 当前用户的登录目录
$PATH 当前系统命令的搜索目录清点
$PS1 命令提示符,通常是“$”字符
$PS2 辅助提示符,通常是“>”字符
$IFS 输入区的分割符,通常是空格、制表符、换行符.
定义变量并取值
var=hello 注意这里赋值时必须要紧挨着等号,否则会不认识
$var :表示取变量值: hello
${var} :也是取变量的值:hello ,之所以带花括号,是为了区别变量名与字符串中内容冲突的情况
var=hello
echo "${var}iable" 这种情况打印:helloiable
echo "$variable" 这种情况打印为空字符串,因为variable变量我们没有定义
加入我们之前定了var变量,我们又想打印"$var"这个字面值,而不是打印变量var的内容,我们应该在$前面使用转义符"\"
\${var} :将打印"${var}"
\$var :将打印"$var"
i=`expr $i + 1` :取变量i的值并加1,然后赋值给i,注意这里使用的是反引号而不是单引号
$(($i+1)) :与上边的效果相同,也是表达式赋值
var=$(cmd 参数) : 执行系统命令,将其打印的结果保存到var变量中
其中cmd是Linux系统的shell命令
字符串判断表达式
[html] view plain copy
相等 str = str2 注意这里 两个字符串与等号隔开,否则会认为是赋值 不等 str != Str2 非空 N str 空 Z str
算数表达式
[html] view plain copy
相等 data1 eq data2 不相等 data1 Ne data2
对文件的操作
[html] view plain copy
为目录文件 -d file 是否为空文件 -s file 文件存在 -e file 普通文件存在 -f file
是否设置了组权限、用户权限
[html] view plain copy
-g file -u file
是否可读、可写、可执行
[html] view plain copy
-r file -w file -x file
条件语句
if [ expression ] # 中括号内必须为表达式expression
then
echo “123”
else
echo "456"
fi
test 命令替代中括号
if test -f android.c
then
echo "exist"
else
echo "not exist"
fi
echo "please input yes/no"
read var
if [ ${var} = "yes" ]
then
echo "data yes"
elif [ ${var} = "no" ]
then
echo "data no"
else
echo "input data is: "${var}
fi
For循环语句
for item in ${list} #循环从list中读取到item变量中
do
echo ${item}
done
While 循环
while [ “123” = “123” ]
do
echo “hello”
done
分之语句
case ${var} in
"yes") echo "world";; #注意这里必须双分号结束.
"no") echo "hello";;
*) echo "****";; #匹配所有字符串,必须放到最后面
esac
Until语句
read var
until [ $var = "hello" ] 条件为真则跳出循环
do
read var
done
函数
function_name()
{
echo “第一个参数$1”
echo “第二个参数$2”
echo “第三个参数$3”
}
#调用函数,并传递三个参数,函数必须在调用前定义,且必须有函数体.
function_name 1 2 3
*脚本调试
[html] view plain copy
sh -n <script> 检查脚本语法是否有错 sh -v <script> 执行每条脚本语句前,并打印本条脚本语句,并回显执行结果 sh -x <script> 执行每条脚本语句后,并打印本条脚本语句,并回显执行结果
标签: #ubuntushell变量