Start making pwd
This commit is contained in:
parent
35fa871fdb
commit
1db36f45d3
55
pwd/pwd.go
Normal file
55
pwd/pwd.go
Normal file
@ -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
Block a user