J. Doe Asked: 2020-05-07 12:55:48 +0800 CST2020-05-07 12:55:48 +0800 CST 2020-05-07 12:55:48 +0800 CST 18.04:为什么这个命令不起作用?[复制] 772 对不起这个愚蠢的问题,但我花了一些时间弄清楚! #! /bin/bash a=/etc cd $a 通常,如果我为$a变量然后分配值cd $a,它会起作用。但是当我创建一个单独的文件时 - 它没有! 为什么会这样? command-line bash 18.04 1 个回答 Voted Best Answer Gryu 2020-05-07T13:11:01+08:002020-05-07T13:11:01+08:00 您正在执行脚本,使用#!/bin/bash该脚本启动对您不可见的新bash会话并将其目录更改为$a然后退出。你只是没有看到它。 为了实现你想要的,我稍微修改了你的脚本: $ cat test.sh #!/bin/bash a="/etc/" cd $a echo $a $ chmod +x test.sh .并在脚本(或source关键字)之前使用点执行它。它在当前 bash 会话中执行脚本: 结果: user@ubuntu:~/test$ . test.sh /etc/ user@ubuntu:/etc$
您正在执行脚本,使用
#!/bin/bash
该脚本启动对您不可见的新bash
会话并将其目录更改为$a
然后退出。你只是没有看到它。为了实现你想要的,我稍微修改了你的脚本:
.
并在脚本(或source
关键字)之前使用点执行它。它在当前 bash 会话中执行脚本:结果: