我有如下一个shell脚本...shell脚本,如何根据选择运行不同的代码?
#!/bin/ksh
set_logging() {
if [ -f "$LOG_FILE" ]
then
mv $LOG_FILE $LOG_FILE.$SYNCDATE
else
touch $LOG_FILE
fi
# set logging for stdout and stderr (run this if user selects start)
exec >> $LOG_FILE
exec 2>&1
# run this if user selects dry
#exec something else
#exec something else
}
set_logging
# menu
if [[ ! -n $1 ]] ; then
clear
echo ""
echo "What are you trying to do?"
echo "start"
echo "dry"
echo "help"
echo ""
exit 99
fi
case "$1" in
start) run_tar;;
dry) nothing_here_yet;;
help) print_help;;
*) clear
echo "Your syntax is incorrect!"; exit 99;;
esac
这是一个剪断实际的脚本,在AIX 7.1 UNIX操作系统上运行。
我想要做的是基于菜单上的用户选择,更改set_logging()块内执行的部分(如果用户选择不同的菜单选项,您会注意到我注释了要运行的代码以帮助这个例子)。
再次,这是一个简单的例子,所以我理解并可以在我的shell脚本的不同部分使用它。
任何人都可以提供帮助吗?
你已经知道该怎么做基于不同的事情一个变量的值。您可以在该代码段的底部使用它。只需将其应用于'set_logging'内。您还需要将'“$ 1”'传递给函数。 – 2014-09-19 02:51:48
@EtanReisner我认为这就是他期待的答案,你可以在 – Ram 2014-09-19 03:57:27