pau*_*aul 2 linux bash indentation ubuntu-12.04
我编写了一个Bash脚本,它使用大学的案例和函数,但无论我在哪里移动脚本,她都说它们没有正确缩进.这个脚本示例的正确缩进是什么?
clear
echo "Start A Process"
echo "*************************"
echo "1. Oxygen Level."
echo "***************************"
echo "2. Temperature ."
echo "*************************"
echo "3. Mars Rover Speed."
echo "*************************"
echo "4. Satellite Distance"
echo "*************************"
echo "5. Carbon Dioxide Level"
echo "*************************"
echo "6. Humidity %."
echo "*************************"
echo "Press A to quit."
echo "*************************"
read -p "Please make a choice:" choice2
#Choices
case "$choice2" in
1)
$script/simulate start oxygen
echo "Oxygen Level Started."
sleep 5
;;
2)
Run Code Online (Sandbox Code Playgroud)
在VMware上是否有网站或功能,我可以自动缩进代码?
缩进是为了澄清您的代码.缩进通常用于循环,if语句,函数定义,以便于查看哪些语句是该循环的一部分或if语句的一部分.
使代码更具可读性的另一个技巧是添加空白行来分隔出相关代码块.例如,使用几个空行将菜单与其余代码分开:
clear
echo "Start A Process"
echo "*************************"
echo "1. Oxygen Level."
echo "***************************"
echo "2. Temperature ."
echo .... #And on and on...
echo "*************************"
echo "6. Humidity %."
echo "*************************"
echo "Press A to quit."
echo "*************************"
read -p "Please make a choice:" choice2
case "$choice2" in...
...
Run Code Online (Sandbox Code Playgroud)
这样可以更轻松地查看您要呈现的菜单.您还可以使用Here文档来消除重复的回声和引号,使您的菜单难以看清.我会消除像星号线那样花哨的东西.它们不会给程序添加任何东西,只是让它更难阅读 - 代码明智和执行明智:
clear
cat <<MENU
START A PROCESS
------------------
1. Oxygen Level.
2. Temperature .
3. Mars Rover Speed.
4. Satellite Distance
5. Carbon Dioxide Level
6. Humidity %.
A. Quit
------------------
MENU
read -p "Please make a choice:" choice2
case "$choice2" in...
...
Run Code Online (Sandbox Code Playgroud)
请注意如何使用here文档使您的菜单易于查看和格式化.
最后,您的case语句应遵循缩进规则,以保持公共行缩进,因此您不仅知道与case语句一起使用的代码,而且还要缩进每个选项:
case "$choice2" in
1)
$script/simulate start oxygen
echo "Oxygen Level Started."
sleep 5
;;
2)
.....
.....
;;
.....
esac
Run Code Online (Sandbox Code Playgroud)
有些人会对此进行压缩:
case "$choice2" in
1) $script/simulate start oxygen
echo "Oxygen Level Started."
sleep 5;;
2) .....
.....;;
.....
esac
Run Code Online (Sandbox Code Playgroud)
缩进几乎是一样的.将几行组合在一起,使其case更紧凑,更易于阅读.
为了帮助您进行缩进和编码,请使用程序编辑器而不仅仅是文本编辑器.像VIM这样的优秀程序编辑器会自动缩进代码,甚至突出显示语法,使其更易于阅读.Eclipse用于Java编程,但可以用作shell脚本的文本编辑器.一个好的编辑器还可以通过向您显示该命令的联机帮助页来帮助您使用某些语句命令.当您K在VIM中按资本时,它将显示该命令的联机帮助页.
Bash程序的美化非常棘手.但是,有一个Python程序将尝试该任务.