我正在尝试交换用户输入的字符串

时间:2019-04-13 11:43:15

标签: bash

我正试图编写一个bash脚本来交换用户输入的单词。

例如:hello stack overflow

输出:overflow stack hello

用户可以输入任意数量的单词。

2 个答案:

答案 0 :(得分:0)

看看下面的文章,解释bash中“ read”的用法:

http://landoflinux.com/linux_bash_scripting_read.html

如果您提前知道将要切换的单词数,那么一个简单的解决方案可能就是这样。每个单词都分配给您在读取命令中指定的变量:

#!/bin/bash
echo "Enter two words: "
read one two
echo "first word: $one"
echo "second word: $two"

如果您需要反转一个字符串中的单词列表,则可以查看以下答案:

How to reverse a list of words in a shell string?

答案 1 :(得分:0)

尝试一下:

read -ra line                        # read into array
i=${#line[@]}                        # determine length of array
for i in $(seq $((i-1)) -1 0); do    # loop in reverse order 
   echo -n "${line[i]} "             # echo entry at i-position without linefeed
done
echo                                 # linefeed

输入

this is a test

输出

test a is this