1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- package shell
- import (
- "io"
- )
- func init() {
- Commands = append(Commands, &commandFsCd{})
- }
- type commandFsCd struct {
- }
- func (c *commandFsCd) Name() string {
- return "fs.cd"
- }
- func (c *commandFsCd) Help() string {
- return `change directory to a directory /path/to/dir
- The full path can be too long to type. For example,
- fs.ls /some/path/to/file_name
- can be simplified as
- fs.cd /some/path
- fs.ls to/file_name
- `
- }
- func (c *commandFsCd) Do(args []string, commandEnv *CommandEnv, writer io.Writer) (err error) {
- path, err := commandEnv.parseUrl(findInputDirectory(args))
- if err != nil {
- return err
- }
- if path == "/" {
- commandEnv.option.Directory = "/"
- return nil
- }
- err = commandEnv.checkDirectory(path)
- if err == nil {
- commandEnv.option.Directory = path
- }
- return err
- }
|