例如:
我希望用户输入 A=a
我的命令我猜是完全错误的。
read -p "Enter something:" frsstring=secstring
echo $frsstring
echo $secstring
````````````````````````````````````````````````````````````
答案1
您bash
可以使用数组变量并将 IFS(内部字段分隔符)特殊变量更改为=
通常包含空格字符、制表符和换行符来分割单词。
IFS='=' read -a arr -p "Enter something: "
echo "${arr[0]}"
echo "${arr[1]}"
或者你可以使用外壳参数扩展从字符串中删除最长的后缀和前缀模式:
read -p "Enter something: " str
echo "${str%%=*}" # remove longest suffix pattern `=*`
echo "${str##*=}" # remove longest prefix pattern `*=`
答案2
我不知道如何用一个命令来完成它,但您可以读取整行,然后将其拆分为所需的变量:
#!/bin/bash
read -p "Enter something:" line
frsstring=`echo "$line" | cut -f1 -d'='`
secstring=`echo "$line" | cut -f2 -d'='`
echo $frsstring
echo $secstring
我希望它能有所帮助