我正试图编写一个bash脚本来交换用户输入的单词。
例如:hello stack overflow
输出:overflow stack hello
用户可以输入任意数量的单词。
答案 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"
如果您需要反转一个字符串中的单词列表,则可以查看以下答案:
答案 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