shell命令实战

2019-03-29  本文已影响0人  一川烟草i蓑衣

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就是当前文件的目录了)

上一篇 下一篇

猜你喜欢

热点阅读