问题
如何将一个文件中的shell语句改为系统命令,就是不加./直接能运行
例如将当前文件夹作为环境变量
三种办法:
(1)当前命令行
MYPATH="`pwd`"#获取档当前路径
PATH=$PATH:$MYPATH
(2)修改profile文件,持久
vim profile
找到文件中export模块,增加一行
export $MYPATH
不会立即执行,需要在命令行中输入
source profile
(3)修改用户的bashrc
写入
PATH=$PATH:$MYPATH
sourc bashrc
基本语句
条件测试
判断程序运行的状态,比如这个程序操作的对象是的状态(对象的属性,对象的权限等)。
通俗说法就是用于判断条件中的语句改怎么表达
文件状态测试
-b -f -d
逻辑操作
字符串测试
-z
-n
= > < !=
数值测试
e代表equel,
g代表great,
t代表than,
n代表not,
l代表great
-eq
-ne
-lt
-gt
-ge
-le
shell流程控制语句
if while for case
删除输入文件夹下面的所有.c文件如果文件全部清除就删除该目录
for i in $* ;
do
find "$i" -name "*.c" -exec rm -r -f {} \;
[ -z "`ls $i`" ] && {
rmdir "$i"
echo "Delete Directory $i"
}
done
评定分数,如果分数在多少就输出等级
needquit=0
while [ $needquit -eq 0 ]
do
echo "please input the score"
read score
case $score in
100|9[0-9]) echo "Very Good";;
8[0-9]) echo "Good";;
7[0-9]) echo "Middel";;
6[0-9]) echo "Pass";;
[1-5][0-9]) echo "Failure";;
quit|q) echo Quit
needquit=1;;
*) echo "Wrong Input!";;
esac
echo ""
done