#!./argv.sh 'a b' c d # This illustrates the lack of proper argument parsing on the shebang line. # The "argv.sh" script displays each command line argument on a separate line. # All the kernel does is remove leading and trailing blanks, but it doesn't # split the string into separate pieces when it hands it to the command. # If you look in the env(1) man page, you'll find it has an option to # "process and split S into separate arguments; used to pass multiple # arguments on shebang lines". If you replace the shebang line above with: #!/usr/bin/env -S ./argv.sh 'a b' c d # then each argument will be properly parsed and handed to ./argv.sh # -Ian! D. Allen - idallen@idallen.ca - www.idallen.com