История изменений
Исправление Kroz, (текущая версия) :
... то у ТС'а будут проблемы с именами с пробелами
Не будет, так как использую «$@»
Только ты потом всё склеиваешь в одну строку.
И удаляешь ты первый аргумент, а не последний.
Ты б запустил бы то, что написал:
$ cat ./args.sh
#!/bin/sh
fn()
{
echo -n "Arguments ($#):"
while [ $# -gt 0 ]; do
echo -n " '$1'"
shift
done
echo
}
# fn "${@:1:$(($#-1))}"
ARGS=
while [ $# -gt 1 ]; do
shift
ARGS="$ARGS $1"
done
fn $ARGS
$ ./args.sh "one" "two two" "three three" "four four"
Arguments (6): 'two' 'two' 'three' 'three' 'four' 'four'
Исправление Kroz, :
... то у ТС'а будут проблемы с именами с пробелами
Не будет, так как использую «$@»
Только ты потом всё склеиваешь в одну строку.
Ты б запустил бы то, что написал:
$ cat ./args.sh
#!/bin/sh
fn()
{
echo -n "Arguments ($#):"
while [ $# -gt 0 ]; do
echo -n " '$1'"
shift
done
echo
}
# fn "${@:1:$(($#-1))}"
ARGS=
while [ $# -gt 1 ]; do
shift
ARGS="$ARGS $1"
done
fn $ARGS
$ ./args.sh "one" "two two" "three three" "four four"
Arguments (6): 'two' 'two' 'three' 'three' 'four' 'four'
Исходная версия Kroz, :
... то у ТС'а будут проблемы с именами с пробелами
Не будет, так как использую «$@»
Только ты потом всё склеиваешь в одну строку.
Ты б запустил бы то, что написал:
$ cat ./args.sh
#!/bin/sh
fn()
{
echo -n "Arguments ($#):"
while [ $# -gt 0 ]; do
echo -n " '$1'"
shift
done
echo
}
# fn "${@:1:$(($#-1))}"
ARGS=
while [ $# -gt 1 ]; do
shift
ARGS="$ARGS $1"
done
fn $ARGS
$ ./args.sh "one" "two two" "three three" "four four"
Arguments (6): 'two' 'two' 'three' 'three' 'four' 'four'