ошибка при передаче файлов с android на ноутбук

Когда вы вызываете программу

testscript *.txt

, ваша оболочка выполняет раскрытие и обрабатывает все значения. Таким образом, она может эффективно называть вашу программу как

testscript file1.txt file2.txt file3.txt file4.txt

. Теперь ваша программа смотрит только на $ 1 и поэтому работает только с file1.txt .

Цитируя в командной строке, вы передаете в сценарий буквальную строку *. Txt , и это то, что хранится в $ 1 . Ваш цикл for затем расширяет его.

Обычно в таких сценариях используется "$ @" , а не $ 1 .

Это ошибка для людей, пришедших из сценариев CMD, где командная оболочка не выполняет подстановки (как это известно) и всегда передает буквальную строку.

0
22.10.2016, 16:58
0 ответов

Теги

Похожие вопросы