最近切换到 Linux/命令行,我在从预先确定的可能性列表中为终端创建动态问候语时遇到了麻烦。
我尝试了以下方法,但似乎我无法找出我一直在使用的 random.choice 函数的正确语法。
a="Affirmative, Dave. I read you."
b="Good afternoon, Mr. Avers. Everything is going extremely well."
c="My instructor was Mr. Langley, and he taught me to sing a song. If you'd like to hear it, I can sing it for you."
random.choice(('a', 'b', 'c')) | echo
欢迎提供任何脚本或创建问题的建议。
编辑:我将这些行添加到 ~/.bash_aliases,而不是 ~/.bashrc,因为我还不想弄乱该文件。
我希望在打开终端时得到这些问候之一,事实上,我没有意识到 random.choice 是一个 python 函数。
使用 @MelBurslan 的代码工作得很好,但感谢所有发表评论的人。
答案1
您将 bash 与 python 混淆了。 random.choice 是一个 python 函数。使用 bash 可以达到类似的效果,如下所示:
greeting=("Affirmative, Dave. I read you." "Good afternoon, Mr. Avers. Everything is going extremely well." "Do you want me to sing a song for you ?")
index=$(( RANDOM % ${#greeting[@]} ))
echo ${greeting[${index}]}