Я пытаюсь получить выходные данные аргументов командной строки в обратном порядке. Но я получаю ошибку при этом.
Это код:
#!/bin/bash
str=$@
len=$#
space=" "
echo "No. of arguments = $len"
echo "Entered arguments = $str"
while [ $len -ne 0 ]
do
tmp=`echo $str | cut -d " " f $len`
rev=$rev$tmp$space
len=`expr $len - 1`
done
echo "Arguments in reverse = $rev"
И когда я запускаю скрипт, я получаю эту ошибку:
robin@robin-VirtualBox:~/lx$ ./s1.sh one two three
No. of arguments = 3
Entered arguments = one two three
cut: you must specify a list of bytes, characters, or fields
Try 'cut --help' for more information.
cut: you must specify a list of bytes, characters, or fields
Try 'cut --help' for more information.
cut: you must specify a list of bytes, characters, or fields
Try 'cut --help' for more information.
Arguments in reverse =
Вы просто отсутствуете эти -
знак перед Вашим -f
аргумент cut
. Я смог выполнить Ваш сценарий и иметь его функция правильно после создания что одна модификация.