当我想在屏幕上显示日历时,脚本向我显示有条件的错误(如果有的话),但是我不知道为什么。我想应该没问题。
# !/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
最佳答案
假设(仅出于示例目的)mostrar
为0
,则此行:
if[$mostrar = 1] then
表示“使用参数
if[0
,=
和1]
运行命令then
”。由于您没有名为if[0
的命令,因此该命令会崩溃。您可以通过在命令的各个组件周围添加空格来解决大多数问题。此外,在
then
之前需要用分号或换行符,并且应将$mostrar
扩展名用双引号引起来,以防止文件名扩展和单词拆分(两者都可能导致奇怪的结果)。所以:if [ "$mostrar" = 1 ] ; then
关于linux - 我的Bash代码中发生了什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38194293/