我是编程方面的新手。以下任务看起来很简单,但我不知道该怎么做。感谢是否有人可以给我一些指导。
我正在使用Linux操作系统。我想创建一个CLI程序,让用户在shell终端中运行它。我计划使用Bash shell脚本来创建这个程序,但C ++或Perl也应该没问题。 CLI程序将接受来自用户的命令,执行它,然后可选地在屏幕上显示结果摘要。
当CLI程序运行时,我想让它总是在shell终端的左侧显示一个“shell提示符”,就像Bash shell提示符一样。提示符表示CLI程序正在等待用户键入命令并按返回键。
[AAA@Bash user]$ # This is Bash shell
[AAA@Bash user]$./CliApp.sh
CliApp > # The CLI program is running, user can type in command here
CliApp > exit
[AAA@Bash user]$ # Now the user has returned to the Bash shell
我想我知道如何在屏幕上打印一些东西并从用户那里得到输入,但我发现它看起来非常不专业。我相信有更好的方法来创建这种程序。
任何人都可以给我一些如何创建这种程序的指导吗?感谢您是否可以给我任何示例程序的链接。感谢。
答案 0 :(得分:4)
您是否正在寻找以下内容?
#!/bin/bash
input=""
while [ "$input" != "exit" ]
do
echo -n "cliApp($mode) > " && read input
if [ "$input" = "config" ]
then
mode="config"
elif [ "$input" = "up" ]
then
mode=""
elif [ "$input" = "exit" ]
then
break
else
if [ "$mode" = "config" ]
then
if [ "$input" = "list" ]
then
echo "ABCD"
else
echo "Invalid"
fi
else
echo "Invalid"
fi
fi
done
exit
答案 1 :(得分:3)
通过shell脚本编写命令解释器对我来说听起来有点多余,因为你必须使用命令解释器(bash,csh,sh或其他东西)才能做到这一点。
如果您正在寻找的话,可以自定义您的bash提示。
您可以使用一些C / C ++库来帮助您构建自己的命令处理器/解释器,其中包括花哨的功能,例如制表符完成。你应该看看这些: