linux 怎么编写一个shell程序并执行

linux 怎么编写一个shell程序并执行,第1张

#!/bin/bash

或者#!/bin/shif

[

-e

/etc/apache2/>

运行有错误,可以继续问我

#!/bin/bash

#------------------------------------------------

trap "GO_IN" 2 3 15

TEST=0

GO_IN()

{

TEST=1

}

#------------------------------------------------

#及时响应模式

read_char()

{

SAVESTTY=`stty -g`

stty raw

stty -echo

dd if=/dev/tty bs=1 count=1 2>/dev/null

stty -raw

stty echo

stty $SAVESTTY

}

#------------------------------------------------

#选择Y or N的 *** 作

choice_yn()

{

STRING_CYN=$1

DEFAULT_ANS=$2

echo "$STRING_CYN[Y/N]:"

ANS=`read_char`

if [ "$ANS" = "" ]

then

ANS=$DEFAULT

fi

case $ANS in

Y|y|YES|yes)

return 0;;

N|n|NO|no)

return 1;;

esac

}

#------------------------------------------------

#退出动作

my_exit()

{

rm $$

trap 2 3 15

exit 0

}

#存储内容的文件

file_st=myfiletxt

#------------------------------------------------

#菜单

while :

do

cat <<MAYDAY

----------------------------------------------------------------------------------------------------

               1:查询学生名单

               2:添加学生名单

               3:删除学生名单

               Q:Quit

----------------------------------------------------------------------------------------------------

MAYDAY

echo  "按提示选择[1-3,Q]>"

CHOICE=`read_char`

case $CHOICE in

1)clear

if [ ! -f $file_st ]

then

echo "对不去,没有添加任何名单!"

else

while read name_1 age_1 sex_1 mark_1

do

echo "$name_1,$age_1,$sex_1,$mark_1"

done<$file_st

fi

;;

2)

clear

P=1

while [ "$P" -eq 1 ]

do

echo "输入学生的姓名:"

read name

if choice_yn "学生姓名为$name,是否保存" "Y"

then

while [ "$P" -eq 1 ]

do

echo "输入学生的年龄:"

read age

if choice_yn "学生年龄为$age,是否保存" "Y"

then

while [ "$P" -eq 1 ]

do

echo "输入学生的性别:"

read sex

if choice_yn "学生性别为$sex,是否保存" "Y"

then

while [ "$P" -eq 1 ]

do

echo "输入名单备注:"

read mark

if choice_yn "名单备注为$mark,是否保存" "Y"

then

echo "正在保存全部信息,请勿退出"

echo "$name $age $sex $mark"|tee -a $file_st >/dev/null 2>&1

sleep 3

echo "保存完毕,按任意键返回主菜单"

P=0

read xssss

else :

fi

done

else :

fi

done

else :

fi

done

else :

fi

done

;;

3)

clear

echo "输入你想删除的信息的学生姓名:"

read delete_name

cat $file_st|grep $delete_name >/dev/null 2>&1

if [ "$" -eq "1" ]

then

echo "对不起,没有查询到相应的信息!"

else

sed "$delete_name"  $file_st>myfile_1$$

cp myfile_1$$ $file_st

echo "删除成功!"

fi

;;

Q|q)my_exit;;

);;

esac

done

#!/usr/bin/expect

set timeout 10

spawn ssh pcs@111712

expect "Password"

send "密码\r"

expect ">"

send "ls;cd back/rate/;runsh\r"

expect eof

#!/bin/bash # 说明文件为SHELL脚本

if [ "$#" -ne 2 ]; then #判断如果脚本后面的参数不等于两个,则提示被退出

echo "use :chextensionsh zip rar"

exit 1

fi

# 查看当前目录下所有文件名为zip结尾的文件,并把每个找到的文件名字赋值给变量oldfilename。然后再使用sed命令把每个文件名字从zip变成rar,把这个新的名字变量赋值给newfilename;最后再使用mv命令对旧的文件改名字。

for oldfilename in $(find -name "\$1");do

newfilename=$(echo $oldfilename | sed "s/$1/$2/")

mv -i "$oldfilename" "$newfilename"

done

整个脚本的作用就是批量地把当前目录下的zip文件改名成rar,有点类似于rename命令。这样明白了吧?

#/bin/bash

echo -en "请输入数字:"

read i

#判断输入值大于1

if [ $i -ge 1 ]

then

echo -e "数\t平方\t立方"

for j in `seq 1 $i`

do

echo -e "$j\t$(($j$j))\t$(($j$j$j))"

done

else

echo "你输入值有错"

fi

将以上拷贝到shell_2sh中。

让shell_2sh 可执行: chmod a+x shell_2sh

用法:/shell_2sh

看到提示输入你的值即可。

#!/bin/bash

dir_source="/home/hnsd/workdata/"

yyyymmdd=`date +%Y%m%d`

data_time=`date +%p`

if [ "${data_time}" = "AM" ]; then

workdata=workdata1

dir_back="/home/hnsd/disk1backup/"

else

workdata=workdata2

dir_back="/dev/disk2backup/"

fi

tar zcvf ${dir_back}${yyyymmdd}_${workdata}targz ${dir_source}

crontab 写法为

12 脚本绝对路径

30 17 脚本绝对路径

[oracle@localhost test]$ cat csh

#!/bin/sh

b=0

echo "请出入n的值:"

read n

for ((a=1;a<=n;a++))

do

b=1/$a+$b

done

c=`bc<<!

scale=5

$b

!

`

echo "运算式是:$b"

echo "最后的结果是:$c"

[oracle@localhost test]$ sh csh

请出入n的值:

20

运算式是:1/20+1/19+1/18+1/17+1/16+1/15+1/14+1/13+1/12+1/11+1/10+1/9+1/8+1/7+1/6+1/5+1/4+1/3+1/2+1/1+0

最后的结果是:359768

[oracle@localhost test]$

“挂载光驱到/dec/cdrm文件下”不需要shell程序。

第一:你如果想要自动挂载,就通过/etc/fstab文件

第二:如果每次手动挂载,用 mount 命令,但是也最好在/etc/fstab文件有相应的设置。

补充回答

用for循环就可以很容易地实现对许多文件的格式转换或更名,自然是自动运行的,不用让人老等在旁边。

以上就是关于linux 怎么编写一个shell程序并执行全部的内容,包括:linux 怎么编写一个shell程序并执行、linux 编写一段shell程序,提供菜单显示选项,实现学生成绩的存储、根据用户的输入执行查询、添加功能、在linux中,如何编写一个shell脚本来实现如下功能等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10134291.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存