Implement a robust shell CLI
AmazonSoftware Engineer · Technical ScreenLast updated
This question evaluates proficiency in POSIX-compliant shell scripting, including positional argument parsing and validation, ISO 8601 UTC timestamp generation, file metadata extraction for license determination, construction of user@hostname, error handling and exit-code semantics, and handling of non-ASCII file paths.
Implement a POSIX-compliant shell script invoked as ./script.sh <username> <path_of_file> that outputs a single line formatted as "<timestamp> <license> user@hostname". Requirements: parse and validate both positional arguments; compute an ISO 8601 UTC timestamp; derive the license string from the file (state and document your assumption, e.g., read a 'License:' header or first token); construct user@hostname using the provided username and the local hostname; handle missing file, permission errors, and non-ASCII paths; return meaningful exit codes; and outline basic tests (happy path, bad args, missing file).
Solution walkthrough is for members
Get the full walkthrough with reference code and complexity analysis, plus Kitty Coach at 300 messages a day. Hints, the code runner and community answers stay free.