18.04:为什么此命令不起作用?

18.04:为什么此命令不起作用?

抱歉问了这么愚蠢的问题,但我花了一些时间才弄清楚!!

#! /bin/bash a=/etc cd $a

通常情况下,如果我为变量赋值$a,然后cd $a,它就会起作用。但是当我创建一个单独的文件时,它却不起作用!

为什么会这样呢?

答案1

您正在执行脚本,#!/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$ 

相关内容