shell基本命令总结
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell基本命令总结相关的知识,希望对你有一定的参考价值。
一 Linux shell脚本
shell : 命令行解释器
(1)sh
(2)csh
(3)ksh
(4)bash
shell 脚本:一堆命令集合,这些命令完成一件特定的事情
二 运行一个shell脚本文件
1.添加可执行权限,然后运行 ./shell脚本文件
2.用shell来解析我们的脚本文件 , bash 脚本文件
三 shell脚本语法
1.变量
(1)用户自定义变量
变量名=内容
特点:
<1>没有数据类型
<2>赋值两边不能有空格
<3>所有的赋值对shell变量都解释为字符串
(2)环境变量
PATH 是shell默认的搜索路径
HOME 记录的是当前用户的用户主目录
(3)位置变量
$0 脚本的名字
$1 给脚本传递的第一个参数
$2 给脚本传递的第二个参数
...
$9
[email protected] 获取给脚本传递的所有参数
$* 获取给脚本传递的所有参数
$# 获取给脚本传递的参数个数
注意:
在shell中引用一个变量的内容时候,需要加"$",例如:$PATH
VAR1=$PATH
VAR2=$HOME
VAR3=$VAR1
VAR1=$VAR2
VAR2=$VAR3
echo $VAR1
echo $VAR2
2.输入和输出
(1)输入
read var1 var2 var3
将用户输入的第一个单词赋值给var1,第二个单词赋值给var2,剩下的单词赋值给var3
(2)输出
echo "hello word" 输出后自动换行
echo -n "hello word" 取消输出后自动换行
3.数据的计算
+ , - , \* , / , %
运算的命令:expr
4.判断的对象
(1)字符串
= , != , -z , -n
(2)数字
eq , ne ,gt ,lt , ge ,le
(3)文件属性
-d , -f , -r , -w ,-x
5.控制语句
(1)判断语句
if [ 判断的对象 ]
then
命令
fi
-a 且的关系
-o 或的关系
if [ $data -ge 256 -a $data -lt 512 ]
then
echo $data
fi
-----------------------------------------------------------------
输出重定向:将输出的结果,输出到指定的文件中,而不是在终端上显示
echo "string" > log.txt 先清空log.txt文件,然后写入字符串
echo "string" >> log.txt 以追加的方式在log.txt文件尾部写入字符串
-----------------------------------------------------------------
if [ 判断的对象 ]
then
命令
else
命令
fi
if [ 判断的对象 ]
then
命令
elif [判断的对象]
then
命令
...
elif [判断的对象]
then
命令
fi
练习:
输入一个成绩,判断成绩的等级
[80-100] A
[60-80 ) B
[0-60 ) C
如果成绩非法不是[0-100],则提示用户输入的成绩是非法的成绩
(2)case 语句
case 变量的内容 in
匹配项1)
命令
;;
匹配项2)
命令
;;
*)
命令
;;
esac
练习:
输入一个成绩,判断成绩的等级
[80-100] A
[60-80 ) B
[0-60 ) C
如果成绩非法不是[0-100],则提示用户输入的成绩是非法的成绩
(3)循环
asd f ghj
for 变量 in 单词表
do
命令
done
循环的次数由单词表中单词的个数来决定,变量每次从单词表取一个单词,然后执行循环体,直到将所有的单词全部取完
for 变量
do
命令
done
如果 "in 单词表"省略,此时变量从位置参数中取单词
(3)输出拷贝的文件和子目录的个数
------------------------------------------------------------------------
while [表达式]
do
命令
done
只有在表达式为真的时候,才执行命令,如果为假,循环结束
------------------------------------------------------------------------
break 2
continue 2
二 source 命令
1.bash test.sh 或 ./test.sh 它是创建一个子进程(shell 进程),子进程来解释test.sh这个脚本
脚本运行结束后,不影响当前的shell(终端上的bash)
2.source test.sh 或 . test.sh 它是当前终端的shell来解释脚本,脚本运行结束后会影响到当前的shell
三 shell 函数
1.函数定义
function 函数名()
{
命令;
...
return 数字值
}
2.函数调用
value=`函数名 参数1 参数2 ...`
value的值这个函数内部通过echo输出的字符串
函数名 参数1 参数2 ...
通过 $? 获得函数的返回值
问题:在shell函数内部如何获得传递的参数呢?
回答:通过位置变量($1 $2 $3 ...)来获得传递的参数
注意:在shell中变量默认是全局的,如果只想变量在函数内部有效,需要用local修饰变量
while true
do
done
以上是关于shell基本命令总结的主要内容,如果未能解决你的问题,请参考以下文章