我正在练习脚本,我不知道我的脚本有什么问题。这就是我现在所拥有的。
#!/bin/bash
read -p "Continue? y/n" y
y=0
if (y eq- 0 )then;
y=1
fi
if (y eq- 0 )then;
read-p "Thank you for running this script"
exit
else
read-p "You will now exit"
exit
fi
任何建议或想法都会有所帮助。
答案 0 :(得分:7)
一些注意事项:
要在bash中使用变量,请在
;如果放在同一行<{1}},则在then
之前。
#!/bin/bash -x
read -p "Continue? y/n" y
#y=0
# Why set y to 0 when you read it ?
# Why check y equal to 0 if you just set it ?
#if [[ $y -eq 0 ]] ; then
# y=1
#fi
if [[ "$y" = "y" ]]; then
read -p "Thank you for running this script"
exit
else
read -p "You will now exit"
exit
fi
您还可以使用正则表达式来检查&#39; y&#39;小写和小写:
if [[ $y =~ [yY] ]]; then
read -p "Thank you for running this script"
fi
答案 1 :(得分:0)
if ($y eq- 0 ) then;
和
read -p "You will now exit"
对空格非常小心,它们不仅仅是为了便于阅读,有时它们也是有原因的!
小心; (分号)。
它只是为了避免将以下文本放在新行上。对我来说,它在命令行操作中很有用,但我没有看到在脚本中使用它的理由。去下一行吧。你看到有人用一行创建一个带有分号的脚本吗?不,它不可读。为什么必须将其与IF
一起使用?