linux shell 将用户输入的第一个单词赋值给var1,第二个单词赋值给var2,剩下的单词赋值给var3 完成VAR1和VAR2这两个变量交换,然后输出这三个变量的值
时间: 2023-03-20 18:01:38 浏览: 75
以下是一种实现方法:
```bash
read input
var1=$(echo $input | awk '{print $1}')
var2=$(echo $input | awk '{print $2}')
var3=$(echo $input | awk '{$1=$2=""; print $0}')
# 交换 VAR1 和 VAR2 的值
tmp=$var1
var1=$var2
var2=$tmp
# 输出三个变量的值
echo "VAR1: $var1"
echo "VAR2: $var2"
echo "VAR3: $var3"
```
解释:
1. `read input` 用来读取用户输入。
2. `var1=$(echo $input | awk '{print $1}')` 使用 `echo` 和 `awk` 命令从用户输入中提取第一个单词,并将其赋值给 `var1`。
3. `var2=$(echo $input | awk '{print $2}')` 使用 `echo` 和 `awk` 命令从用户输入中提取第二个单词,并将其赋值给 `var2`。
4. `var3=$(echo $input | awk '{$1=$2=""; print $0}')` 使用 `echo` 和 `awk` 命令从用户输入中去掉前两个单词,并将剩余部分赋值给 `var3`。
5. `tmp=$var1; var1=$var2; var2=$tmp` 完成 `VAR1` 和 `VAR2` 的交换,这里使用了一个临时变量 `tmp`。
6. `echo "VAR1: $var1"; echo "VAR2: $var2"; echo "VAR3: $var3"` 输出三个变量的值。注意,变量名需要用 `$` 符号引用才能获取其值。