我创建了这个名为 ShellScript.sh 的脚本,该脚本中的内容如下:
#!/bin/sh
# Shell script
function help {
echo ""
echo "./ShellScript.sh {start | stat}"
echo ""
echo "These are some commands:"
echo ""
# Start command
echo "start"
echo "This starts the process"
echo ""
# Stat command
echo "stat"
echo " abcxyz"
echo ""
}
但是,在命令行上,当我输入“./ShellScript.sh help”时,没有任何反应。我已经尝试解决这个问题一天了,并且确信我错过了一些小东西,但我不知道它是什么!
答案1
目前还不清楚你的最终目标是什么,但是打电话./ShellScript.sh help
就可以了范围脚本的“帮助”;正如 Arkadiusz Drabczyk 评论的那样,ShellScript.sh 所做的就是设置一个函数,然后退出。
看起来好像您正在构建一个选项驱动的脚本来启动或统计进程,在这种情况下,您需要一些“主”级代码来解析参数并调用函数。
例如,将其添加到 ShellScript.sh 的末尾:
case "$1" in
start)
echo "This starts the process"
;;
stat)
echo "stat"
echo " abcxyz"
;;
help)
help
;;
*)
echo "usage: $0 start|stat"
;;
esac
作为建议,“stat”(对人类而言)与“start”非常相似;考虑“地位”?
答案2
你已经定义了一个函数,但实际上你还没有用它做任何事情。你需要称呼脚本中的该函数。如果这是一种更通用的方法,您想根据脚本的参数调用几个函数之一,只需将其设置为这样(我刚刚显示了其中的一部分,在末尾添加了“$”):
# Stat command
echo "stat"
echo " abcxyz"
echo ""
}
$1