parent
35fa871fdb
commit
1db36f45d3
1 changed files with 55 additions and 0 deletions
@ -0,0 +1,55 @@ |
||||
package main |
||||
|
||||
import ( |
||||
"fmt" |
||||
"os" |
||||
) |
||||
|
||||
func logicalPWD() { |
||||
dir, err := os.Getwd() |
||||
if err != nil { |
||||
fmt.Printf("%v error: %v", os.Args[0], err) |
||||
os.Exit(1) |
||||
} |
||||
fmt.Println(dir) |
||||
} |
||||
|
||||
func physicalPWD() { |
||||
fmt.Println("Using physical WD") |
||||
} |
||||
|
||||
func usage() { |
||||
fmt.Printf("usage: %v [-LP]\n", os.Args[0]) |
||||
} |
||||
|
||||
// if there's bs in os.Args[2], it ignores everything else
|
||||
func parseArgs() []string { |
||||
flags := []string{} |
||||
return flags |
||||
} |
||||
|
||||
// usePhysical parses command-line arguments and determines which mode should be used.
|
||||
// If both -L and -P are specified, the last one shall apply.
|
||||
// If neither -L nor -P is specified, the pwd utility shall behave as if -L had been specified.
|
||||
func usePhysical() bool { |
||||
if len(os.Args) > 1 { |
||||
flags := parseArgs() |
||||
flagsLen := len(flags) |
||||
lastFlag := flags[flagsLen] |
||||
if lastFlag == "L" { |
||||
return false |
||||
} |
||||
if lastFlag == "P" { |
||||
return true |
||||
} |
||||
} |
||||
return false |
||||
} |
||||
|
||||
func main() { |
||||
if usePhysical() { |
||||
physicalPWD() |
||||
} else { |
||||
logicalPWD() |
||||
} |
||||
} |
Loading…
Reference in new issue