Почему расширение файла glob не подавляется

У меня есть следующий скрипт my.sh :

 echo $@ 

Теперь я хочу увидеть расширение файла glob, поэтому мне нравится это, и он работает нормально:

 $ bash my.sh * $ f1 f2 my.sh 

Теперь я попытался подавить расширение, используя методы, описанные в этом ответе :

 $ bash my.sh "*" $ bash my.sh \* 

Но я все равно получаю список всех файлов в качестве вывода. Зачем?

One Solution collect form web for “Почему расширение файла glob не подавляется”

При первом вызове вашего скрипта

 $ bash my.sh * 

имя файла globbing выполняется оболочкой перед вызовом сценария.

При втором вызове вашего скрипта

 $ bash my.sh "*" 

имя файла globbing выполняется в скрипте при запуске echo $@ .

Чтобы этого избежать, двойная кавычка $@ на эту строку:

 echo "$@" 

Дальнейшее чтение: последствия для безопасности забывания при цитировании переменной в оболочках bash / POSIX

  • Почему квадратные скобки препятствуют расширению оболочки?
  • Использовать команду sed с переменными
  • Как искать? в человеке?
  • байты эха в файл
  • Раскрашивание хвостового выхода с помощью sed
  • Как добавить строку, включающую одинарные кавычки в файл с sed
  • Как работать с именами файлов, содержащими одну цитату внутри функции завершения zsh?
  • Не удается получить доступ к внешнему жесткому диску.
  • Проблема с передачей переменной sed
  • Какие символы нужно избегать в файлах без кавычек?
  • Имя файла, начинающееся с - (тире)
  • Interesting Posts

    Как я могу заставить TTY использовать соответствующую кодировку?

    OSX: удалить все соответствующие сертификаты по командной строке

    Отказ "/ opt /" доступа для пользователей SFTP, отличных от определенного каталога

    Как я могу автоматически выбирать зависимости при установке пакета Debian?

    Как показать время UTC в панели i3status?

    О пользователе ssh ProxyCommand

    Я установил дистрибутив Linux. Нужно ли мне устанавливать учетную запись root или учетную запись пользователя?

    Используя cp, в чем разница между копированием и DESTECTOR?

    увеличивать значение, извлекаемое из файла

    Руководство по загрузке BTX

    Рабочие места на рабочем столе Fedora 16 отсутствуют, приложения и меню рабочего стола в верхней части окна

    sed – Как мне сопоставить этот шаблон?

    Хороший стиль / практика для разделителей в именах файлов (или каталогов)

    Где MySQL хранит свои базы данных на Debian?

    mount.cifs: ошибка монтирования (12): невозможно выделить память

    Linux и Unix - лучшая ОС в мире.