How can I pass a file argument to my bash script using a Terminal command in Linux? [duplicate]

It’ll be easier (and more “proper”, see below) if you just run your script as

myprogram /path/to/file

Then you can access the path within the script as $1 (for argument #1, similarly $2 is argument #2, etc.)

file="$1"
externalprogram "$file" [other parameters]

Or just

externalprogram "$1" [otherparameters]

If you want to extract the path from something like --file=/path/to/file, that’s usually done with the getopts shell function. But that’s more complicated than just referencing $1, and besides, switches like --file= are intended to be optional. I’m guessing your script requires a file name to be provided, so it doesn’t make sense to pass it in an option.

Leave a Comment

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)