首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Shell-Scripting:语法错误:单词意外(应为"in")

Shell-Scripting:语法错误:单词意外(应为"in")
EN

Stack Overflow用户
提问于 2016-10-16 01:05:59
回答 2查看 5.3K关注 0票数 0

我搜索了一些站点,还检查了case命令的语法,但没有任何帮助。我的错误在哪里?

代码语言:javascript
复制
#!/bin/sh
USER="user"
DIR="/linktodirectory"
###### script ######
case $1 in

正如你在上面看到的,我有一个"in“。

代码语言:javascript
复制
start)
su $USER -c "${DIR}/file start"
;;
stop)
su $USER -c "${DIR}/file stop"
;;
restart)
su $USER -c "${DIR}/file restart"
;;
status)
su $USER -c "${DIR}/file status"
;;
*)
echo "Usage: {start|stop|restart|status}" >&2
exit 1
;;
esac
exit 0

我使用的是64位的Ubuntu 16.04。

EN

回答 2

Stack Overflow用户

发布于 2016-10-16 01:12:57

您的第一个参数$1应该用双引号括起来。只有这样,这才是case语句的参数。

代码语言:javascript
复制
case "$1" in
票数 0
EN

Stack Overflow用户

发布于 2016-10-16 01:20:09

首先,我怀疑是文件编码问题。

一开始,你的语法看起来还不错..至少是给出错误的那一行。

如前所述,您可以使用双引号更改case行。

如果问题仍然存在,请务必检查文件编码。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40061882

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档