#该管理系统是参考两位博主(时间有点远了,我忘了,请博主看到后联系我)后自行修改添加的。登录过程还有很多不完善,我就抛砖引玉啦。

废话不多,直接上码!

#!/bin/bash
# 学生管理系统
# @version 1.0

#设置全局变量
##学生信息和学院信息
#学院相关变量
school_num=""
school_name=""

#学生相关变量
stu_num=""
stu_name=""
stu_des=""

#成绩相关变量
course=""
score=""
score_des=""

#用户账户信息
user_name=""
user_passwd=""

##数据文件存放路径
source_dir="./source"
schools_db="./source/schools.db"
students_db="./source/students.db"
scores_db="./source/scores.db"
user_db="./source/user.db"

#创建数据文件
mkdir_sourcedir(){
if [ ! -d $source_dir ];then
mkdir -p $source_dir
fi

if [ ! -f $schools_db ];then
touch $schools_db
fi

if [ ! -f $students_db ];then
touch $students_db
fi

if [ ! -f $scores_db ];then
touch $scores_db
fi

if [ ! -f $user_db ];then
touch $user_db
fi
}

create_user(){
read -p "请输入你的用户名:" user_name
cat file | grep $user_name &>/dev/null
[ $? -eq 0 ] && echo "这个用户已经存在,请重新创建!" && create_user
if [ -z $user_name ];then
echo "该用户可创建" && create_user
fi
read -p "请输入密码:" user_passwd
read -p "请再次输入密码:" passwd1
if [[ "$user_passwd" != "$passwd1" ]] ;then
echo "密码验证不正确,请重新创建" && create_user
fi
if [ ! -z "$user_passwd" ];then
echo "$user_name "$user_passwd" " >>file
echo "创建成功!,按任意键将跳转到登录界面..."
fi
if [ -z "$user_passwd" ];then
echo "$user_name " " " >>file
echo "创建成功!,按任意键将跳转到登录界面..."
fi
clear
read choice
case $choice in
*)
login
;;
esac
}

login(){

read -p "请输入用户名:" user_name
a="`cat file | awk '$1=="'$user_name'"'|cut -d ' ' -f2-`"
b=`echo "$a" | sed 's/ //g'`
cat file | awk '$1=="'$user_name'"' &> /dev/null
if [ $? -eq 0 ];then
read -p "请输入你的密码:" user_passwd
c=`echo $user_passwd | sed 's/ //g'`

if [[ "$b" = "$c" ]];then
echo "登录成功!"
else
echo "密码验证不正确,请选择 1. 重新创建 2. 重新登录 3. 退出系统"
clear
read choice
case $choice in
1)
create_user
;;
2)
login
;;
3)
exit 0
;;
esac
fi
else
echo "该用户不存在,请选择 1. 重新创建 2. 重新登录 3. 退出系统"
#create_user
clear
read choice
case $choice in
1)
create_user
;;
2)
login
;;
3)
exit 0
;;
esac
fi

Welcome
}

haha(){
case $main in
1)
create_user
;;
2)
login
;;
3)
exit 0
;;
esac
}

cat << EOF
************请选择:**************
1) 创建用户
2) 直接登录
3) 退出

EOF
read -p "Choice:" main

# 主函数
Welcome()
{
# reset
mkdir_sourcedir #数据文件不存在则创建
echo -e "\t\t\t--------------------------"
echo -e "\t\t\t 欢迎进入学生管理系统"
echo -e "\t\t\t--------------------------"
echo -e "\t\t\t 按任意键继续……"
read choice
case $choice in
*)
Module
;;
esac
}

#模块选择
Module(){
clear
echo -e "\t\t\t**********************"
echo -e "\t\t\t请输入对应数字选择信息模块"
echo -e "\t\t\t 1. 学院信息管理"
echo -e "\t\t\t 2. 学生信息管理"
echo -e "\t\t\t 3. 成绩信息管理"
echo -e "\t\t\t 4. 退出系统"
read choice
case $choice in
1)
Menu1
;;
2)
Menu2
;;
3)
Menu3
;;
4)
exit 0
;;
*)
Module
;;
esac
}

###############
#学院信息模块功能实现
###############

#学院信息模块菜单
Menu1(){
clear
echo -e "\t\t\t****************************"
echo -e "\t\t\t请输入对应数字选择功能"
echo -e "\t\t\t 1. 添加学院"
echo -e "\t\t\t 2. 删除学院"
echo -e "\t\t\t 3. 学院列表"
echo -e "\t\t\t 4. 查找学院"
echo -e "\t\t\t 5. 修改学院"
echo -e "\t\t\t 6. 返回上级"
echo -e "\t\t\t 7. 退出系统"
echo -e "\t\t\t****************************"
echo "请选择:"

read choice

case $choice in
1)
echo -e "\t\t\t添加学院"
add_school
;;
2)
echo -e "\t\t\t删除学院"
del_school
;;
3)
echo -e "\t\t\t学院列表"
display_schools
;;
4)
echo -e "\t\t\t查找学院"
find_school
;;
5)
echo -e "\t\t\t修改学院"
update_school
;;
6)
echo -e "\t\t\t返回上级"
Module
;;
7)
exit 0
;;
*)
Menu1
;;
esac
echo "--------------------------"
echo "按任意键继续……"
read c
Menu1
}

#1.添加学院信息
add_school(){
read -p "school_num:" school_num
#防止输入空格
while [ "$school_num" = '' ];do
read -p "输入的学院编号不能为空,请重新输入学院编号:" school_num
done
while grep -w "$school_num" "$schools_db" > /dev/null ;do
echo "已经存在该编号的学院了,请改用其他编号!"
read -p "school_num:" school_num
done
read -p "school_name:" school_name
#防止输入空格
while [ "$school_name" = '' ];do
read -p "输入的学院名称不能为空,请重新输入学院名称:" school_name
done
echo -e "$school_num,\t$school_name,\r" >> $schools_db
}

#2.删除学院
del_school(){
read -p "请输入学院的编号" school_num
while ! grep -w "$school_num" "$schools_db" > /dev/null ; do
echo "不存在该编号的学校,请输入编号存在的学校编号: "
read -p "school_num:" school_num
done
echo "该学院的信息为:"
grep "^$school_num" $schools_db
read -p "确定删除吗?[yes|no]" choice
case "$choice" in
yes)
sed -i -e "/^$school_num/d" $schools_db
if [ "$?" -eq 0 ];then
echo "删除成功"
else
echo "不存在该条记录或者删除失败"
fi
;;
no)
:
;;
*)
echo "请输入[yes|no]"
del_school
;;
esac
}

#3.展示全部学院信息
display_schools(){
echo -e "编号\t学院\t"
cat $schools_db
}

#4.查找学院
find_school(){
echo "--------------------------"
echo "输入要查询的学院编号"
read school_num
echo "--------------------------"
echo -e "编号\t学院\t"
grep -w $school_num $schools_db #-w只显示全字符合的列
echo "--------------------------"
echo "查询成功"
}

#5.修改学院信息
update_school(){
echo "--------------------------"
read -p "输入学院编号:" school_num
#防止输入空格
while [ "$school_num" = '' ];do
read -p "输入有误,请重新。输入学院编号:" school_num
done
while ! grep -w "$school_num" "$schools_db" > /dev/null ; do
echo "不存在该编号的学校,请输入编号存在的学校编号: "
read -p "school_num:" school_num
#防止输入空格
while [ "$school_num" = '' ];do
read -p "输入有误,请重新。输入学院编号:" school_num
done
done
echo "--------------------------"
echo -e "编号\t学院\t"
grep -w $school_num $schools_db
echo "--------------------------"
read -p "要修改的字段信息" str1
#防止输入空格
while [ "$str1" = '' ];do
read -p "输入有误,请重新。要修改的字段信息:" str1
done
while ! grep -w "$school_num,.*," "$schools_db"|grep -w "$str1"> /dev/null;do
echo "不存在该字段,请重新输入:"
read str1
#防止输入空格
while [ "$str1" = '' ];do
read -p "输入有误,请重新。要修改的字段信息:" str1
done
done
read -p "修改后的字段信息" str2
#防止输入空格
while [ "$str2" = '' ];do
read -p "输入有误,请重新。修改后的字段信息:" str2
done
read -p "确定删除吗?[yes|no]" choice
case "$choice" in
yes)
sed -i "/${school_num#,}/ s/$str1/$str2/" $schools_db
if [ "$?" -eq 0 ];then
echo "修改成功"
echo "--------------------------"
echo "修改后的学院信息"
echo -e "编号\t学院\t"
cat $schools_db
if [ "$str1" = "$school_num" ];then #如果修改的是学院编号还要修改学生表里的学院编号
sed -i "/${school_num#,}/ s/$str1/$str2/" $students_db
fi
else
echo "修改失败"
fi
;;
no)
:
;;
*)
echo "请输入[yes|no]"
del_student
;;
esac
}

###################
#学生信息模块功能实现
###################

#学生信息模块菜单
Menu2() {
clear
echo -e "\t\t\t**********************"
echo -e "\t\t\t请输入对应数字选择功能"
echo -e "\t\t\t 1. 添加学生"
echo -e "\t\t\t 2. 删除学生"
echo -e "\t\t\t 3. 学生列表"
echo -e "\t\t\t 4. 查找学生"
echo -e "\t\t\t 5. 修改学生"
echo -e "\t\t\t 6. 返回上级"
echo -e "\t\t\t 7. 退出系统"
echo -e "\t\t\t**********************"
echo "请选择:"
read choice

case $choice in
1)
echo -e "\t\t\t添加学生信息"
add_student
;;
2)
echo -e "\t\t\t删除学生信息"
del_student
;;
3)
echo -e "\t\t\t展示学生信息"
display_students
;;
4)
echo -e "\t\t\t搜索学生信息"
search_student_num
;;
5)
echo -e "\t\t\t修改学生信息"
modify_student
;;
6)
echo -e "\t\t\t返回上一个页面"
Module
;;
7)
exit 0
;;
*)
Menu2
;;
esac
echo "--------------------------"
echo "按任意键继续……"
read c
Menu2
}

#1.添加学生信息
add_student(){
read -p "stu_num:" stu_num
while grep -w "$stu_num" "$students_db" > /dev/null ;do
echo "已经存在该学号的学生了,请改用其他学号!"
read -p "stu_num:" stu_num
done
read -p "stu_name:" stu_name
read -p "school_num:" school_num
#将结果丢失,不显示在屏幕中
while ! grep -w "$school_num" "$schools_db" > /dev/null ; do
echo "不存在该编号的学校,请输入编号存在的学校编号: "
read -p "school_num:" school_num
done
read -p "stu_des:" stu_des
echo -e "$stu_num,\t$stu_name,\t$school_num,\t$stu_des,\r" >> $students_db
echo "成功添加学生信息,添加的信息为: "
grep -w $stu_num $students_db

}

#2.删除学生
del_student(){
read -p "请输入要删除的学生的学号" num
echo "该学生的信息为:"
grep "^$num" $students_db
read -p "确定删除吗?[yes|no]" choice
case "$choice" in
yes)
sed -i -e "/^$num/d" $students_db
if [ "$?" -eq 0 ];then
echo "删除成功"
else
echo "不存在该条记录或者删除失败"
fi
;;
no)
:
;;
*)
echo "请输入[yes|no]"
del_student
;;
esac
}

#3.显示所有学生信息
display_students() {
echo "--------------------------"
echo -e "学号\t姓名\t学院\t说明"
sed -n '1,$p' $students_db
echo "--------------------------"
echo -e "\r"
}

#4.查询学生信息
search_student_num() {
echo "--------------------------"
echo "输入要查询的学号"
read num
echo "--------------------------"
echo -e "学号\t姓名\t学院\t说明"
grep -w $num $students_db
# grep -w "${num#*,}" $students_db
echo "--------------------------"
echo "查询成功"
}

#5.修改学生信息
modify_student() {
echo "--------------------------"
echo "输入学生所在的学院:"
read school_num
#防止输入空格
while [ "$school_num" = '' ];do
read -p "输入有误,请重新。输入学生所在的学院:" school_num
done
while ! grep -w "$school_num" "$schools_db" > /dev/null;do
echo "不存在该编号的学院,请重新输入:"
read school_num
#防止输入空格
while [ "$school_num" = '' ];do
read -p "输入有误,请重新。输入学生所在的学院:" school_num
done
done
echo "输入要查询的学号:"
read num
#防止输入空格
while [ "$num" = '' ];do
read -p "输入有误,请重新。输入要查询的学号:" num
done
while ! grep -w "$num,.*,.*,.*," "$students_db" > /dev/null;do
echo "不存在该编号的学生,请重新输入:"
read num
#防止输入空格
while [ "$num" = '' ];do
read -p "输入有误,请重新。输入要查询的学号:" num
done
done
echo "--------------------------"
echo -e "学号\t姓名\t学院\t说明"
grep "${num#,}" $students_db
echo "--------------------------"
echo "要修改的字段信息"
read str1
#防止输入空格
while [ "$str1" = '' ];do
read -p "输入有误,请重新。要修改的字段信息:" str1
done
while ! grep -w "$num,.*,.*,.*," "$students_db"|grep -w "$str1"> /dev/null;do
echo "不存在该字段,请重新输入:"
read str1
#防止输入空格
while [ "$str1" = '' ];do
read -p "输入有误,请重新。要修改的字段信息:" str1
done
done
echo "修改后的字段信息"
read str2
#防止输入空格
while [ "$str2" = '' ];do
read -p "输入有误,请重新。修改后的字段信息:" str2
done
if [ "$str1" = "$school_num" ];then
while ! grep -w "$str2" "$schools_db" > /dev/null;do
echo "不存在该编号的学院,请重新输入:"
read str2
#防止输入空格
while [ "$str2" = '' ];do
read -p "输入有误,请重新。修改后的字段信息:" str2
done
done
fi

read -p "确定删除吗?[yes|no]" choice
case "$choice" in
yes)
#如果修改的是学生编号还要修改成绩表里的学生编号
if [ "$str1" = "$num" ];then
sed -i "/${num#,}/ s/$str1/$str2/" $scores_db
fi
#如果修改的是学生姓名还要修改成绩表里的学生姓名
studentName=$(grep "^$num," "$students_db"|sed -n "1p"|cut -d "," -f 2|cut -f 2) #获取学生的姓名,最后一个cut作用是去除字符串前的制表符
if [ "$str1" = "$studentName" ];then
sed -i "/^$num,/ s/$studentName/$str2/" "$scores_db" #根据学号来修改成绩表姓名的信息
fi
#修改学生表
sed -i "/${num#,}/ s/$str1/$str2/" $students_db
if [ "$?" -eq 0 ];then
echo "------------修改成功--------------"
echo "修改后的学生信息"
echo -e "学号\t姓名\t学院\t说明"
grep "${num#,}" $students_db | grep "$str2"
else
echo "修改失败"
fi
;;
no)
:
;;
*)
echo "请输入[yes|no]"
modify_student
;;
esac

}

###################
#成绩信息模块功能实现
###################

#成绩信息模块菜单
Menu3() {
clear
echo -e "\t\t\t**********************"
echo -e "\t\t\t请输入对应数字选择功能"
echo -e "\t\t\t 1. 添加成绩"
echo -e "\t\t\t 2. 删除成绩"
echo -e "\t\t\t 3. 成绩列表"
echo -e "\t\t\t 4. 查找成绩"
echo -e "\t\t\t 5. 修改成绩"
echo -e "\t\t\t 6. 成绩统计"
echo -e "\t\t\t 7. 返回上级"
echo -e "\t\t\t 8. 退出系统"
echo -e "\t\t\t**********************"
echo "请选择:"
read choice

case $choice in
1)
echo -e "\t\t\t添加成绩"
add_score
;;
2)
echo -e "\t\t\t删除成绩"
del_score
;;
3)
echo -e "\t\t\t展示成绩信息"
display_scores
;;
4)
echo -e "\t\t\t搜索成绩信息"
search_score_num
;;
5)
echo -e "\t\t\t修改成绩信息"
modify_score
;;
6)
echo -e "\t\t\t成绩统计"
score_count
;;
7)
echo -e "\t\t\t返回上一个页面"
Module
;;
8)
exit 0
;;
*)
Menu3
;;
esac
echo "--------------------------"
echo "按任意键继续……"
read c
Menu3
}

#成绩统计模块
score_count(){
clear
echo -e "\t\t\t**********************"
echo -e "\t\t\t请输入对应数字选择功能"
echo -e "\t\t\t 1. 每学科的前3名"
echo -e "\t\t\t 2. 个人总成绩前5名"
echo -e "\t\t\t 3. 返回上一级"
echo -e "\t\t\t 4. 退出系统"
echo -e "\t\t\t**********************"
echo "请选择:"
read choice

case $choice in
1)
echo -e "\t\t\t每学科的前3名"
such_course_sort_score
;;
2)
echo -e "\t\t\t个人总成绩前5名"
sort_score_sum_five
;;
3)
Menu3
;;
4)
exit 0
;;
*)
score_count
;;
esac
echo "--------------------------"
echo "按任意键继续……"
read c
score_count
}

#1.添加成绩
input_score_info(){ #成绩信息输入
read -p "stu_num:" stu_num
while ! grep -w "$stu_num" "$students_db" > /dev/null ;do
echo "此学号没有录入在系统中,请重新输入正确的学号!"
read -p "stu_num:" stu_num
done
read -p "stu_name:" stu_name
while ! grep -w "$stu_name" "$students_db" > /dev/null ;do
echo "名字和学号不对应,请重新输入"
read -p "stu_name:" stu_name
done
read -p "course:" course
read -p "score:" score
read -p "score_des:" score_des
while grep -w $stu_num $scores_db|grep -w $course > /dev/null ;do #学号和科目确定成绩的唯一性
echo "该学生的此科目成绩已经录入,请再次输入: "
input_score_info
done
}
add_score(){ #添加成绩
input_score_info
echo -e "$stu_num,\t$stu_name,\t$course,\t$score,\t$score_des,\r" >> $scores_db
echo "成功添加学生成绩信息,添加的信息为: "
echo -e "学号\t姓名\t科目\t成绩\t说明"
grep -w $stu_num $scores_db|grep -w $course #学号和科目确定成绩的唯一性
}

#2.删除成绩
del_score(){
read -p "请输入学生的学号" num
read -p "请输入该学生要删除的科目" score
echo "该条成绩信息为:"
grep "^$num," $scores_db|grep "$score,"
read -p "确定删除吗?[yes|no]" choice
case "$choice" in
yes)
sed -i -e "/^$num,.*$score,/d" $scores_db
if [ "$?" -eq 0 ];then
echo "删除成功"
else
echo "不存在该条记录或者删除失败"
fi
;;
no)
:
;;
*)
echo "请输入[yes|no]"
del_score
;;
esac
}

#3.成绩列表
display_scores(){
echo ""
echo -e "学号\t姓名\t科目\t 成绩 说明"
cat $scores_db|column -t
}

#4.查找成绩
search_score_num(){
read -p "输入要查看的学生的学号" num
read -p "输入要查看的科目" score
echo -e "学号\t姓名\t科目\t成绩\t说明"
grep "^$num," $scores_db|grep "$score,"
}

#5.修改成绩
modify_score() {
echo "--------------------------"
read -p "输入学号(不能有空格):" num
while ! grep "^$num," "$scores_db" > /dev/null;do
echo "不存在该编号的学生,请重新输入:"
read num
done
#防止输入空格
while [ "$num" = '' ];do #num=$(printf "$num"|sed s/[[:space:]]//g)
echo "输入有误,请重新:"
read -p "输入学号(不能有空格):" num
done

read -p "输入科目:" course
#防止输入空格
while [ "$course" = '' ];do
echo "输入有误,请重新:"
read -p "输入科目:" course
done
while ! grep "^$num,.*$course," "$scores_db" > /dev/null;do
echo "成绩表里不存在该编号的学生,请重新输入:"
read course
#防止输入空格
while [ "$course" = '' ];do
echo "输入有误,请重新:"
read -p "输入科目:" course
done
done
echo "--------------------------"
echo -e "学号\t姓名\t科目\t成绩\t说明"
grep "^$num," "$scores_db"|grep "$course," #学号和科目确定成绩的唯一性
echo "--------------------------"
read -p "要修改的字段信息:" str1
#防止输入空格
while [ "$str1" = '' ];do
echo "输入有误,请重新:"
read -p "要修改的字段信息:" str1
done
while [ "$str1" = "$num" ];do
echo "请输入其他字段(成绩表里不能瞎改学号,如果非要改,请修改学生表:)"
read str1
#防止输入空格
while [ "$str1" = '' ];do
echo "输入有误,请重新:"
read -p "要修改的字段信息:" str1
done
done
scores_db_studentName=$(grep "^$num," "$scores_db"|sed -n "1p"|cut -d "," -f 2|cut -f 2) #从成绩表里获取学生姓名
while [ "$str1" = "$scores_db_studentName" ];do
echo "请输入其他字段(成绩表里不能瞎改姓名,如果非要改,请修改学生表:)"
read str1
#防止输入空格
while [ "$str1" = '' ];do
echo "输入有误,请重新:"
read -p "要修改的字段信息:" str1
done
done
while ! grep "^$num,.*$course," "$scores_db"|grep "$str1,"> /dev/null;do
echo "不存在该字段,请重新输入:"
read str1
#防止输入空格
while [ "$str1" = '' ];do
echo "输入有误,请重新:"
read -p "要修改的字段信息:" str1
done
done

read -p "修改后的字段信息:" str2
#防止输入空格
while [ "$str2" = '' ];do
echo "输入有误,请重新:"
read -p "修改后的字段信息:" str2
done

read -p "确定删除吗?[yes|no]" choice
case "$choice" in
yes)
sed -i "/^$num,.*$course,/ s/$str1/$str2/" $scores_db
if [ "$?" -eq 0 ];then
echo "------------修改成功--------------"
echo "修改了的信息"
echo -e "学号\t姓名\t科目\t成绩\t说明"
grep "^$num,.*$course," "$scores_db" #学号和科目确定成绩的唯一性
echo "--------------------------"
else
echo "修改失败"
fi
;;
no)
:
;;
*)
echo "请输入[yes|no]"
modify_score
;;
esac
}

#6.个人总成绩前5名排序
sort_score_sum_five(){
echo "-----------总成绩前1到5名---------------"
printf "学号\t\t总成绩\t排名\t\n";
awk -F"," '{ary[$1]+=$4} END{for(key in ary) print key ",\t" ary[key]",\t"}' $scores_db|sort -r -n -t',' -k 2| awk -F"," '{print $1 ",\t" $2",\t" NR ",\t"}'|sed -n '1,5p'
echo "--------------------------"
}

#7.每个学科的前3名
such_course_sort_score(){
awk 'BEGIN{FS=","}{ary[$3]=$3} END{for(key in ary) print ary[key]}' $scores_db > temp
size=$(cat temp|wc -l)
top=1
while [ "$top" -le "$size" ];do
var=$(sed -n "$top p" temp)
grep "$var," $scores_db |sort -r -n -t "," -k 4 |sed -n '1,3p'|awk 'BEGIN{FS="," ; printf "科目\t学号\t姓名\t排名\t\n"}{printf $3 "\t" $1 "\t" $2 "\t" NR "\t\n"}'|column -t
echo ""
top=$(($top+1))
done
rm -rf temp

}

#程序入口
haha
exit 0

Linux下基于shell脚本实现学生信息管理系统的更多相关文章

  1. Linux下添加shell脚本使得nginx日志每天定时切割压缩

    Linux下添加shell脚本使得nginx日志每天定时切割压缩一 简介 对于nginx的日志文件,特别是access日志,如果我们不做任何处理的话,最后这个文件将会变得非常庞大 这时,无论是出现异常 ...

  2. linux下实现shell脚本自动连接mongodb数据库并创建索引

    在linux下创建shell脚本

  3. 2019.11.13课堂实验之用Linux下的shell脚本完成两文本交替输出

    有两个文本如下,实际中并不知道两文本各有多少行: 文本1.txt aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ccccccccccccccccccccccccccc ...

  4. 基于JSP+Servlet的学生信息管理系统

    JavaWeb期末项目,一个基于JSP和Servlet的学生信息管理系统实现,前端用了bootstrap和一些自定义的css样式,数据库用了mysql 传送门: GitHub 实现功能 登录(教师, ...

  5. linux下的shell脚本(基本)

    shell有些命令和格式不用老是容易忘,学而时习之,不亦说乎~ 先说明以下内容来自: http://c.biancheng.net/cpp/shell/ ,C语言中文网,请大家支持原作,点击链接查看. ...

  6. linux下的shell脚本

    先说明以下内容来自: http://c.biancheng.net/cpp/shell/ ,C语言中文网,请大家支持原作,点击链接查看. 我写下来只是作为笔记,如果侵权,请留言,立马删除. Shell ...

  7. windows下建立文件的换行符^M导致linux下的shell脚本执行错误的解决方式

    常常在windows下编辑的文件远程传送到linux下的时候每行末尾都会出现^M.这将导致shell脚本执行错误,主要是由于dos下的编辑器和linux下的编辑器对文件末行的回车符处理不一致导致. 主 ...

  8. Linux 下执行Shell 脚本的方式

    Shell 脚本的执行方式通常有如下三种: (1)bash script-name 或者 sh script-name:(2)path/script-name或者./script-name:(3)so ...

  9. linux下的shell脚本的使用

    什么是shell? Shell是一个命令解释器,它在操作系统的最外层,负责直接与用户进行对话,把用户的输入解释给操作系统,并处理各种各样的操作系统的输出结果,输出到屏幕反馈给用户.这种对话方式可是交互 ...

随机推荐

  1. js 五种绑定彻底弄懂this,默认绑定、隐式绑定、显式绑定、new绑定、箭头函数绑定详解

     壹 ❀ 引 可以说this与闭包.原型链一样,属于JavaScript开发中老生常谈的问题了,百度一搜,this相关的文章铺天盖地.可开发好几年,被几道this题安排明明白白的人应该不在少数(我就是 ...

  2. xms新版发布

    基于.net core 3.0.101 github地址: https://github.com/migomiddle/xms 码云地址: https://gitee.com/migomiddle/x ...

  3. Java生鲜电商平台-SpringCloud微服务架构中分布式事务解决方案

    Java生鲜电商平台-SpringCloud微服务架构中分布式事务解决方案 说明:Java生鲜电商平台中由于采用了微服务架构进行业务的处理,买家,卖家,配送,销售,供应商等进行服务化,但是不可避免存在 ...

  4. Choose the WinForms UI Type 选择 WinForms UI 类型

    In this lesson, you will learn how to change the UI Type of the WinForms application. By default, th ...

  5. 「SAP技术」A项目关联公司间退货STO流程

    [SAP技术]A项目关联公司间退货STO流程 1)创建公司间退货STO单据. 如下图示的公司间退货STO 4500000572, 2),VL10B, 创建交货单. 如下图交货单号:80044918, ...

  6. Android 时间对话框 TimePickerDialog

    private int hourOfDay, minute; @Override protected void onCreate(Bundle savedInstanceState) { super. ...

  7. Eclipse如何重置窗口

    https://jingyan.baidu.com/article/915fc41459585f51394b20c3.html 在Eclipse进行开发的时候,我们经常会由于这个窗口或者那个窗口没有打 ...

  8. TP事物的写法

    Db::startTrans(); try{ Db::commit(); } catch (\Exception $e) { Db::rollback(); } use think\Db; publi ...

  9. rocksdb学习笔记

    rocksdb是在leveldb的基础上优化而得,解决了leveldb的一些问题. 主要的优化点 1.增加了column family,这样有利于多个不相关的数据集存储在同一个db中,因为不同colu ...

  10. right join 和left join 的区别

    SQL 数据库 right join 和left join 的区别   left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录 right join(右联接) 返回包括右表中 ...