我从事支持工作,正在创建一个脚本,使用户可以快速收集信息以进行诊断。
我有多个搜索并选择在 .sh 中使用 case 方法
main() {
#What we looking for?
echo "Whats broken? ( Key , Level, Bot, LPN, Variant, Starvation, Disconnects"
echo "entering \"helplist\" will print and list of available choices"
echo "Enter quit to quit or just control+c =-)"
read broken
#push to lowercase :p
broken2="${broken,,}"
#makes log files
case "$broken2" in
"stuck task")
echo "Task Number?"
read -r taskid
grep --color=auto "id=$taskid" "$engine"/TaskAssignment.txt | tee ~/$broken2.task$taskid.txt
;;
esac
printf "\n\n"
main
}
main
tee 本身工作正常,但我希望能够根据案例和传递给它的参数生成文件。
如何将 case 的值放入 tee 命令 read $case 中?
答案1
通过将案例读取为变量,它将被传递到案例本身中
案例存储为 broken2,但由于某些案例包含多个单词,我们将它们括在括号中
case ${broken2} in
grep --color=auto "id="$taskid"" $engine/TaskAssignment.txt | tee -a ~/"${broken2}".$taskid.txt
使用 broken2 运行脚本时,./tool.sh
输入stuck task
taskid,输入762540
文件输出stuck task.762540.txt