当我想在屏幕上显示我的日历时,脚本会向我显示条件错误 - 如果不是 - 但我不知道为什么;我想应该没问题。
# !/bin/bash
rm --f calen
mostrar = 0
echo "agrega un mes"
read mes
echo "agrega un año"
read year
echo "Agregar [1] para mostrar las dos primeras semanas, o [2] para mostrar las ultimas dos semanas"
read mostrar
if[$mostrar = 1] then
cal -m $mes $year >> calen
head -n 4 calen
else
cal -m $mes $year >> calen
head -n 2 calen
tail -n 3 calen
fi
答案 0 :(得分:4)
假设(仅为了示例)mostrar
是0
,那么这一行:
if[$mostrar = 1] then
表示“使用参数if[0
,=
和1]
”运行命令then
。由于您没有名为if[0
的命令,因此会崩溃。
您可以通过在命令的各个组件周围添加空格来解决大部分问题。此外,您需要在then
之前使用分号或换行符,并且应将$mostrar
扩展包装在双引号中以防止文件名扩展和单词拆分(两者都是这可能导致奇怪的结果)。所以:
if [ "$mostrar" = 1 ] ; then