1

我需要制作一个交互式 bash 脚本,用户将在其中输入一个单词,例如“xyz”,它将替换文本文件中的一个单词。

例如,我有一个名为 example.sh 的脚本。当我运行它时,它应该问:

What is your name?: 
and the user will input 'xyz'.

该脚本应采用该输入并将名为 userlist.txt 的文本文件中的“用户名”替换为“xyz”

更清楚地说,我需要用户输入才能运行

sed -i -e s/username/userinput/g userlist.txt

4

2 回答 2

3

您可以使用read内置函数来读取用户输入,然后可以使用它sed(1)来进行文本替换:

if read -p "What is your name? " name; then
  sed -i~ -e "s/username/${name}/g" userlist.txt
else
  # Error
fi
于 2013-05-26T21:45:35.457 回答
1
#!/bin/bash
echo "What is your name?"
read name
sed -i -e s/username/"$name"/g userlist.txt
于 2013-05-26T21:45:42.713 回答