改变当前shell工作目录
执行脚本时候,只是在当前的shell下开了一个子进程,切换目录的操作只对该进程中相关后续指令有效,但改变不了父进程的目录。 解决方法: 法一: 用 source a.sh就行了。 法二: [fedora@localhost ~]$ cd ~ [fedora@localhost ~]$ chmod u+x a.sh [fedora@localhost ~]$ . ./a.sh / complete [fedora@localhost /]$ 对于 $ . ./a.sh 第一个点是bash的内部命令,表示在当前shell中运行 后面的“./a.sh”是命令的参数,即要执行的脚本 注:两点之间要有空格
#!/bin/sh echo "Go to Advanced Programming Unix Environment Demos Dir!" cd /home/user1/workspace/c_cpp/advanced_programming_unix_env/apue_demos pwd