linux - 使用 shell 脚本将用户的输入 URL 附加到文件中的变量

标签 linux bash shell sed

我有一个文件 test.txt,它已经包含一些名为“export website_URL”和“export username=”的数据

test.txt

    export  username=

    export  website_URL=

    export port=

start.sh

    read  -p "USERNAME: " username

    read  -p "web_URL: " website_URL

    read  -p "port: " port

此处从 test.txt 创建新文件,将数据写入 data.txt 文件

    old_file="test.txt"
    new_file="data.txt"
    cp -f $old_file $new_file
    sed -i 's/username=*/username=" $new_file
    sed -i 's/website_URL=*/website_URL=" $new_file

如果我将输入放入 website_URL="http://stackoverflow.com/questions/6543841/php-cli-getting-input-from-user-and-then-dumping-into-variable-possible",则会失败并显示 sed: -e expression #1, char 71:unknown option to `s' this error 。 那么我可以在 website_URL 变量中存储任何 url 值吗? 如果我缺少什么,请告诉我,因为它能够存储用户名和端口的值

最佳答案

这是因为 URL 中存在反斜杠

url=echo $website_URL= | sed -e "s/\//\\\\\\\\//g"

sed -i 's/website_URL=*/website_URL='$url'/' $new_file

试试这个,它会适合你的情况。

关于linux - 使用 shell 脚本将用户的输入 URL 附加到文件中的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43367164/

相关文章:

linux - 无法通过 bash 打印到 lpr

linux - 如何使用 while 循环和 if 语句编写单行 shell 脚本

bash - 如何将 time 命令的输出重定向到日志文件?

c# - 在 Ubuntu 20.04 上运行 dotnet 应用程序

mysql - 在 Linux 服务器上创建守护进程的最佳实践

linux - 日期 : extra operand '+%s'

linux - 使用具有多个替换命令的脚本时控制 sed 输出

shell - 仅当该部分中的一行包含其中的某个字符串时,如何在两个正则表达式之间打印该文件部分

linux - 根据列查找重复行并使用 awk 打印两行及其编号

linux - 在 Linux 服务器上构建 windows 7z SelF-eXtracting 安装程序,如何更改 exe 图标?