Я добавилumask 777
перед строкой здесь. После удаления umask ошибка ушла. Итак, извлеченный урок :Существует временный файл, созданный для здесь-строки (<<<
), и он связан с здесь-документом (<<
), и для того, чтобы они работали, у вас должен быть установлен соответствующий umask.
Некоторые предложения:
Заставьте пользователя поместить комментарий в кавычки, чтобы он был одним аргументом:
command arg1 "a long comment with many spaces" arg3
Комментарий должен быть в конце:
Если пользователь вызывает command arg1 arg2 a long comment with many spaces
Затем вы можете использовать shift
для удаления предыдущих аргументов, затем $*
для захвата всех оставшихся:
arg1="$1" #use a better name
arg2="$2"
shift
shift
comment="$*"