2

Я использую команду:

cm1 cm2 arg1 arg2 'argument 3'

Сначала он переходит к cm1 , который затем перенаправляет arg1 arg2 'argument 3' в другой файл.

/usr/bin/cm1:

#! /bin/bash
# some script here
shift
cm2 $@

/usr/bin/cm2:

echo $#
# This returns 4 in lieu of 3 because the white space in 'argument 3' causes the argument to be split into two arguments.

Итак, как я могу передать аргументы из одного сценария в другой и убедиться, что пробел не будет считываться в качестве разделителя аргументов?

1 ответ1

3

Я предполагаю, что вы должны перевернуть его в кавычки, вот так:

#! /bin/bash
# some script here
shift
cm2 "$@"

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .