我需要创建一个交互式bash脚本,用户将输入一个单词,例如'xyz',它将替换文本文件中的单词。
例如,我有一个名为example.sh的脚本。当我运行它时,它应该问:
What is your name?:
and the user will input 'xyz'.
脚本应该接受该输入并将名为userlist.txt的文本文件中的“username”替换为“xyz”
更清楚,我需要用户输入才能运行
sed -i -e s/username/userinput/g userlist.txt
答案 0 :(得分:3)
您可以使用read
builtin来阅读用户输入,然后您可以使用sed(1)
进行文字替换:
if read -p "What is your name? " name; then
sed -i~ -e "s/username/${name}/g" userlist.txt
else
# Error
fi
答案 1 :(得分:1)
#!/bin/bash
echo "What is your name?"
read name
sed -i -e s/username/"$name"/g userlist.txt