导航:首页 > 操作系统 > linuxshellcase

linuxshellcase

发布时间:2023-09-24 12:12:48

linux 编写一个shell脚本文件,实现以下功能

#!/bin/bash
whiletrue
do
cat<<END
启动Apache(a)
启动Mysql(m)
启动Samba(s)
启动FTP(f)
启动DNS(d)
退出脚本(E)
END
read-p"请输入要执行的操作:"choice
case$choicein
a)
servicehttpdstart
;;
m)
servicemysqldstart
;;
s)
servicesambastart
;;
f)
servicevsftpdstart
;;
d)
servicenamedstart
;;
E)
exit
;;
*)
echo"输入有误,请输入字母a/m/s/f/d启动相应的服务!"
;;
esac
done

这是模板,纯手打。其中的service httpd start之类的可以换成具体的命令,也可以加上if判断。

针对按什么键执行什么操作用case判断最方便

其中

a)的意思是如果$choice等于a的话则执行什么什么

m)的意思是如果$choice等于m的话则之姓什么什么

其余同理

*)的意思是如果没有以上的a) m) f)...的话就会匹配到这一行,就会输出:输入有误,请输入字母a/m/s/f/d启动相应的服务。

read -p "请输入要执行的操作:" choice //这是个交互式的命令,会输出"请输入要执行的操"作到显示器上,然后将你输入的值赋值给变量choice 然后再用case判断变量choice。

if判断也可以。根据个人喜好来。

case xxx in

x)

;;

y)

;;

*)

;;

这是语法。

Ⅱ Linux里面shell里面fi命令作用是什么

fi 是if语句的固定格式,shell里面有各种循环,都有固定的格式,个人理解是告诉计算机,这个循环语句到此,类似case循环一esac结尾一样。

Ⅲ Linux如何编写shell脚本

  1. 一般以#!/bin/sh开头(不是必须要写,但一定要单独一行),指定执行这个脚本的shell程序(也可以用#!/bin/zsh或其他),然后就是堆命令了。

  2. Linux的shell脚本支持很多功能,加上Linux高度模块化的命令,完全可以用shell脚本写出复杂的程序。

  3. 以上只是简单介绍如何开始写shell脚本,如果要写复杂的脚本,还需要深入学习相关知识(如if——fi、case——esac等结构)。

  4. 当然,还需要给脚本加上可执行权限(chmod +x ./file.sh),否则可以用sh ./file.sh方式执行脚本(这里的sh是执行脚本所需shell,命令也可以是zsh ./file.sh或其他)。

  5. 整个shell脚本,其实就相当于你在终端输入的一系列命令,如果想在shell里做什么,就先想想在终端可以做什么吧,字符的的连接,就是直接用 "" 双引号,输出,变量定义无 $ 符号,但是使用时一定要加上 $ 符号。

  6. "=" 赋值符号,两边一定不能有空格,这和其他语言有区别,尤其是你还有自己代码美观风格时特别注意,否则会报语法错误!

  7. for 中的数组内容是以 " " 空格分隔,而非 "," 逗号分格。

  8. 条件判断 [ true ] 中括号 后面需要有一个空格,但是两个中括号之间不能有空格如 [[ true ]]。

  9. while 条件判断可以用 () 括号,也可以用 [[ ]] 中括号。

  10. 如果用windows写shell,一定要注意换行符格式 而非 , 需要借助一些编辑器(如notepad++)更改换行符格式!

Ⅳ linux中设计一个shell脚本程序可以接受命令行输入的参数执行相应的菜单命令

echo "------------------------"
echo "1、命令1"
echo "2、命令2"
echo "3、命令3"
echo "------------------------"
echo "请输入要执行的菜单命令(1/2/3):"
read com
case $com in
1)
命令1
;;
2)
命令2
;;
3)
命令3
;;
*)
echo "输入命令错误"
;;

Ⅳ 1.linux系统下shell脚本用case语句编写四则运算 2.linux系统下shell脚本输入数字串。进行反序输出

原来我.shell写的侍耐桐亩孝计算器:
[root@liuxiting testdir]# cat calculator.sh
#!/bin/bash
echo "usage: 1+3 <Enter> ,q <Enter> is quit"
while [ 1 ]
do
read -p "->>" str 1>>/dev/null
a=`echo $str |awk -F '+|-|*|/' '{print $1}'`
if [ $a == q ]
then
break
fi
b=`echo $str |awk -F '+|-|*|/' '{print $2}'`
o=`echo $str |grep -o "[[:punct:]]" | grep -v "\."`
case $o in
+) awk 'BEGIN{printf " =%.2f\n",'$a'+'$b'}';;
-) awk 'BEGIN{printf " =%.2f\n",'$a'-'$b'}';;
\*) awk 'BEGIN{printf " =%.2f\n",'$a'*'$b'}';;
/)if [ $b -eq 0 ]
then
echo 0 Can NOT be denominator!
continue
fi
awk 'BEGIN{printf " =%.2f\n",'$a'/'$b'}';;
#^) awk 'BEGIN{printf " =%.2f\n",'$a'**'$b'}';;
*) echo error;;
esac
done

刚刚写的老坦倒序输出:
[root@liuxiting testdir]# cat XuShuChu.sh
#!/bin/bash
echo "usage: 123456 <Enter>, q <Enter> is quit"
while [ 1 ]
do
echo -n "Pleasw enter number : "
read n
if [ $n == 'q' ]
then
break
fi
sd=0
rev=""
on=$n
echo "$n"
while [ $n -gt 0 ]
do
sd=$(( $n % 10 )) # get Remainder
n=$(( $n / 10 )) # get next digit
rev=$( echo $rev$sd)
done
echo "$on in a reverse order $rev"
done

Ⅵ 学linux必须学shell么

当然了 shell是你的好帮手
你使用的好就事半功倍,被人一天的活,你一个小时就可以搞定。不用重复劳作。
SHELL脚本的编写《 Linux就该这么学》第4章节有详细介绍,可以拿来参考。

阅读全文

与linuxshellcase相关的资料

热点内容
外国的程序员和中国的程序员 浏览:147
抖音小店app如何联系客服 浏览:973
linux打开多个终端 浏览:500
linux中的命令 浏览:573
优化小米6相机算法 浏览:256
ak47pdf 浏览:143
人与文化pdf 浏览:640
原子币app在哪里注册的 浏览:529
php数组保存文件 浏览:226
无理的命令 浏览:510
问道手游解压失败是什么原因 浏览:776
mysql命令提示 浏览:373
apachephp中文乱码 浏览:342
pythonimportpylab 浏览:238
阿里云app服务器价格表 浏览:981
appstore怎么抢手机 浏览:845
打印服务器是什么打印队列 浏览:359
网上怎么用app办理营业执照 浏览:861
sql如何查看服务器地址 浏览:781
编译速度和系统有关吗 浏览:60