美文网首页
shell命令实战

shell命令实战

作者: 一川烟草i蓑衣 | 来源:发表于2019-03-29 16:45 被阅读0次

    1.shell文件test.sh:

     #!/bin/bash    

    cd..     

    mkdir ./hehe  (./代表当前目录下)

    直接执行 ./test.sh  此时在上层创建了hehe文件,但是无法cd到上层目录

    原因:执行脚本的时候,只是在当前的shell下开了一个子进程,切换目录的操作只对该进程中相关后续指令有效,但改变不了父进程的目录,当前指令完毕后会回到当前目录。

    解决:.  source脚本可以没有执行权限,会在当前进程中执行

    直接执行 . test.sh或者. ./test.sh或者source test.sh可以没有执行权限,会在当前进程中执行

    2.#!/bin/bash

    path="/Users/yanhe2/Library/"

    cd $path

    . ./test.sh或者source ./test.sh会进入到path目录

    3.

    #!/bin/bash

    path="/Users/yanhe2/Library/"

    path2="/Users/yanhe2/Library/Android/"

    CAD=$(cd$path;cd$path2;pwd)

    echo $CAD 输出/Users/yanhe2/Library/Android但是目录不会切换原因同上会开辟一个子线程

    4.

    CAD=$(cd`dirname $0`;pwd)           

     $() 括号内代表命令

    $0:当前Shell程序的文件名

    dirname $0,获取当前Shell程序的路径

    cd `dirname $0`,进入当前Shell程序的目录

    pwd代表当前工作目录(cd到文件所在的目录的目录那么pwd就是当前文件的目录了)

    相关文章

      网友评论

          本文标题:shell命令实战

          本文链接:https://www.haomeiwen.com/subject/wyqrbqtx.html