Я пытаюсь выучить некоторые основы bash и столкнулся с неожиданным поведением при выводе некоторых строк, которые могут содержать символы "*". Теперь я пытаюсь понять, когда bash решает отключить вывод.
Я могу запустить следующую команду и выполнить ее в bash:
foo="*"; echo $foo
Вывод: *
Но затем, когда я помещаю тот же код в file, printFoo.sh
и выполнить:
#!/usr/bin/env bash
foo="*"; echo $foo
Вывод: printFoo.sh foo.txt bar.txt
Чем отличается среда, когда команда запускается в файле, который вызывает эту разницу в поведении?
Моя bash версия: GNU bash, версия 3.2.57