gpt4 book ai didi

linux - 如何在 shell 脚本中使用 line 作为可选函数?

转载 作者:太空宇宙 更新时间:2023-11-04 04:49:51 25 4
gpt4 key购买 nike

我当前正在创建一个脚本来从文件中检索一组行,并让用户选择其中任何一行来执行特定任务。

例如:

echo "my_files"
1) my_files1
2) my_files2
3) my_files3
...
n) my_filesN

我想让用户选择这些行中的任何一行,并根据 shell 脚本中的选择执行特定任务。

最佳答案

也许您想要类似下一个菜单的内容:

#!/bin/bash

test -f "$1" || { echo "File \"$1\" can not be found."; exit 1; }

readarray -t options < "${1}"

# set the prompt used by select, replacing "#?"
PS3="Use a number to select a command or 'q' to cancel: "

stopmenu=
while [[ -z "${stopmenu}" ]]; do
select opt in "${options[@]}" ; do
if [[ ${REPLY} = q ]]; then
stopmenu=1
break
fi
if [[ ${#opt} -gt 0 ]]; then
echo "$opt"
source <(echo "${opt}")
fi
break
done
echo
done

您可以使用 shell 命令作为参数给出文件名,例如 menu myfile。带有菜单选项的文件可能看起来像

echo "Hello world"
echo "Comment is allowed" # Just add text after a hash.
ls -l
echo "Value of xxx=[${xxx}]" # xxx can be filled in the next menu option
read -p "Enter value for xxx: " xxx # The variable xxx will be known in the menu

关于linux - 如何在 shell 脚本中使用 line 作为可选函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60608203/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com