相关疑难解决方法(0)

“源”有什么作用?

$ whatis source
source: nothing appropriate.
$ man source
No manual entry for source
$ source
bash: source: filename argument required
source: usage: source filename [arguments]
Run Code Online (Sandbox Code Playgroud)

它存在,并且可以运行。为什么 Ubuntu 中没有关于它的任何文档?它有什么作用?如何安装有关它的文档?

bash shell documentation

688
推荐指数
10
解决办法
68万
查看次数

bash:基于历史的智能自动完成?

我曾经发现了一个很棒的 bash 选项,但现在我不记得如何重新启用它。

它扩展了自动完成功能以查看您最近的历史记录。因此,如果您之前输入过open index.html然后open map.html输入

$ op
Run Code Online (Sandbox Code Playgroud)

并按Tab一次将自动完成到open map.html. 再次按下Tab将自动完成到open index.html

有谁知道我如何重新启用它?

bash autocomplete

26
推荐指数
3
解决办法
3万
查看次数

我改变了我的“HOME”变量,现在找不到“~/.bash_profile”来改回来

我在 Mac 上弄乱了环境变量,试图学习如何使用它们,然后我使用了命令nano ~/.bash_profile,然后在其中添加了该行HOME=/Users/MyCompName/Desktop来更新我的 home 变量。

此更改有效,当我printenv用来查看所有环境变量时可以看到,但是当我改HOME回去时,我似乎~/.bash_profile再也找不到了。它去了哪里?

mac bash environment-variables

15
推荐指数
1
解决办法
3298
查看次数

有什么作用。.bashrc 究竟有没有用?

当我输入一个例如。在我的.bashrc文件中添加了一个新别名我无法立即在该终端窗口中使用它,直到最近我认为我必须重新启动终端才能重新加载.bashrc文件。然后我在某处发现如果我写

. .bashrc
Run Code Online (Sandbox Code Playgroud)

这将.bashrc在当前窗口中重新加载文件,我不必重新启动。这对鳍有效,但实际发生了什么?为什么这会重新加载.bashrc文件?

linux terminal bash command-line bashrc

13
推荐指数
1
解决办法
2118
查看次数

如何防止 bash 脚本中的“源”传递脚本的参数?

这些问题解决了以下功能source执行 Bash 脚本与获取它有什么区别? “源”有什么作用?

但我很困惑为什么source在脚本中调用会传递脚本的参数。例如我有这两个脚本:

调用者.sh

source sourced.sh
source sourced.sh ""
Run Code Online (Sandbox Code Playgroud)

来源.sh

echo [$*]
Run Code Online (Sandbox Code Playgroud)

当我做

./caller.sh arg1 arg2
Run Code Online (Sandbox Code Playgroud)

我得到

[arg1 arg2]
[]
Run Code Online (Sandbox Code Playgroud)

“arg1 arg2”被传递给 sourced.sh 即使我没有指定source sourced.sh $*.

为什么?

我发现附加 "" 会阻止传递参数。这是防止传递参数的推荐方法吗?

script bash shell command-line

9
推荐指数
1
解决办法
6225
查看次数

从bash脚本调用历史时“历史位置超出范围”

我想制作一个简单的脚本bash_history,根据用户输入的行号从 中删除一行。

echo -n "Delete History Line Number: "
read num
history -d $num
Run Code Online (Sandbox Code Playgroud)

错误是“历史位置超出范围”(它不应该是,我使用的是范围内的数字)。

为什么这不起作用?

bash command-history

4
推荐指数
1
解决办法
4433
查看次数

如何在shell脚本中使用source命令?

我想source在 shell 脚本中使用命令。

我所做的如下所示:

start.sh

source ~/tensorflow/bin/activate
Run Code Online (Sandbox Code Playgroud)

然后在命令行中运行这个脚本。

$sh start.sh
Run Code Online (Sandbox Code Playgroud)

然而什么也没有发生

$which source
Run Code Online (Sandbox Code Playgroud)

命令不显示任何内容。

那么,source是不是正常的命令?

这是错误的想法吗?或者如何减少路径类型?

shell sh

4
推荐指数
2
解决办法
4万
查看次数

shell这个词是进程的同义词吗?

这篇文章:

Sourcing 将执行当前 shell 中的命令,执行将创建一个新的 shell 并在那里执行命令。

他描述每个 shell 都有自己的 PID。我看不出 shell 和 process 之间有什么区别,至少在他的上下文中如何使用 shell 这个词没有区别。

linux bash shell

2
推荐指数
1
解决办法
1078
查看次数

在 bash shell 中设置环境变量

有没有办法从(bash)shell 脚本中设置环境变量?

我想使用小脚本而不是键入在某些服务器上设置一些环境变量。一些论坛帖子认为这是不可能的

有任何想法吗?

linux bash environment-variables shell-script

1
推荐指数
1
解决办法
1705
查看次数