我希望你的助教或教授提供一点帮助。这是一个可以帮助你的基本程序。这不是你提交答案的手段,而是让你学习(注意,我对bash知之甚少)。我确实喜欢你有机会解决bash问题,而不是写报告。
首先将其复制到nano中。尽管删除行号。这将是一个痛苦的过程。将该文件保存为test.sh.从命令行输入:chmod 755 test.sh
。要运行该程序,请输入./test.sh
我会在行内写评论。
1 #!/bin/bash
2
3 # create a function that will have echo statements
4 # to print instructions on the screen
5 function print_menu() {
6 echo Please choose on of the following option:
7 echo a - Create a file
8 echo b - Create a directory
9 echo c - Delete a file
10 echo d - Delete a directory
11 echo e - Create a user
12 echo f - Delete a user
13 echo q - quit
14 }
在这一点上,我们写了一个可以通过使用print_menu
称它可以重复使用的功能。你会看到更进一步的阅读。
15
16 # keep on looping until user presses q
17 while true; do
18
我们要展示的打印菜单,然后询问用户问题的基础上,我们会做一些工作,然后重复显示打印菜单和内容十分重要的循环答案。
19 # print the menu
20 print_menu
21 # ask user to choose an option
22 read -p "Enter your choice: " choice
到目前为止,我们已向用户显示菜单并要求输入选项。理想情况下,我们应该从用户输入等方面进行错误检查,但我们会在其他时间覆盖这些概念。 choice
是一个变量(或桶),将存储任何输入的用户。如果用户键入a
,则choice
存储桶将包含a
。若要从桶中检索信息,我们使用$choice
23 # based on user's choice, do variety of things
24 case $choice in
25 a) read -p "Name of file to create: " file
26 touch $file
27 echo Created file $file
28 echo ----
29 ;;
退房http://tldp.org/LDP/Bash-Beginners-Guide/html/sect_07_03.html关于如何写在bash case
语句的更多信息。我们使用这个case
声明来评估存储桶$choice
的内容。
然后我们告诉bash,如果选择是a
,请问另一个关于要创建的文件的问题。将答案存储在称为文件的存储区中。并使用$file
touch
命令创建文件时使用存储桶中包含的值。然后,我们提供一些反馈给用户,然后通过键入;;
30
31 b) read -p "Name of directory to create: " dir
32 mkdir -p $dir
33 echo Created directory $dir
34 echo ---
35 ;;
36
37 c) read -p "Name of file to delete: " file
38 rm $file
39 echo Deleted file $file
40 echo ---
41 ;;
42
43 d) read -p "Name of directory to delete: " dir
44 rm -rf $dir
45 echo Deleted directory $dir
46 ;;
上述所有收出这种情况下是一样的作为首选a
。您可以添加更多代码来处理其他案例。
47
48 q) echo Goodbye
49 break;;
如果用户键入q
,我们给予反馈,我们从while
环break
出来。
50
51 *) echo Nothing selected. Try again
52 ;;
如果以上选项都没有被用户给出,我们将只提供反馈并返回到while循环的顶部。
53 esac
54 # sleep 3 seconds to give user time to digest the output
55 sleep 3
56 done
57
我们睡了3秒钟,然后回到while循环的顶部。
希望这会有所帮助。
教授也提供了文档吗? – MeetTitan
她只给了我们4个网站的链接信息,但我只有一门关于编程的课程,它是WBScripting,我与课堂斗争。我试图了解到底发生了什么,但到目前为止,我只能学会如何创建,并通过在网上查看密码和删除密码以及删除它,因为我不知道我在做什么正在做。此外,我正在我的学校提供的一个模拟实验室中对此进行测试。我需要这个帮助 – Alex
另外我们有两个选项做一个10-15页报告为公司或这个bash脚本选择Linux操作系统的好处。由于我对脚本知识很少,而且我对它很不熟悉,所以我想借此机会了解更多信息。 – Alex