LINUX.ORG.RU

[bash] два аргумента как один в переменной

 


0

0

Затрудняюсь с внятным отвлеченным описанием, поэтому, с позволения, перейду сразу же к конкретике :) :

Есть скрипт1 на баше, из него вызывается скрипт2, которому передаются аргументы через переменную:

[script1.sh]
#!/bin/bash

arguments="-v -d Nov 19"
./script2.sh $arguments


[script2.sh]
#!/bin/bash

while [ ! -z "$1" ]; do
    case "$1" in
        -v)
            verbose=1
            shift 1
            ;;
        -d)
            date="$( date -d $2 +%s )"
            shift 1
            ;;
    esac
done

echo '$verbose = '$verbose
echo '$date = '$date

$ ./script1.sh
date: неверная дата `Nov'
^C
$

Т.е. проблема в том, что никак не возможно объяснить ключу -d, что Nov и 19 следует
считать за один аргумент.  Даже если arguments="-v -d \"Nov 19\"".

Как быть?
anonymous

Ответ на: комментарий от Deleted

Поразительно, работает! Большое вам анонимное спасибо.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.