Is Bash expanding the "*" character in my python command line parameter? -
with following command in bash:
python myscript.py filename_pattern* i got 2 different sys.argv in 2 linux machines:
- machine a:
sys.argv[1] = filename_pattern* - machine b:
sys.argv[1] = filename_pattern-2013-06-30
note: filename_pattern-2013-06-30 file in current directory.
one of colleague tell me that's evil of bash. check bash in 2 machines of same version, , checked ~/.bashrc, /etc/bashrc, /etc/profile.d/*.sh too.
can point out how come 2 same version bash act differently ?
it because in 1 of machine, in folder, there in no file match pattern. when happens, * remains. can test 1 computer, , without file match pattern. there reason, shell option nullglob disabled. can read gnu bash reference this.
Comments
Post a Comment