相关疑难解决方法(0)

我的终端中以非零代码退出的任何命令都会关闭我的终端窗口

一开始这有点好笑,就像玩“Bash Roulette”……但现在它变老了,哈哈

我的终端中以非零代码退出的任何命令都会关闭我的终端窗口

有人告诉我,也许我已经set -e在我的终端来源的某个地方设置了一些 bash 脚本。

我已经检查.bash_profile/ .bashrc/.profile它看起来不像set -e是在那里。

还会有其他明显的罪魁祸首吗?

bash terminal shell-script bashrc

23
推荐指数
2
解决办法
1799
查看次数

如何获取 sudo 命令以使用 /root/.bashrc 中的设置

我已经定制.bashrc了一些别名,特别是ll和export LS_OPTIONS='--color=auto'

不幸的是,这在与 一起使用时不起作用sudo,所以我也修改了/root/.bashrc,但这似乎没有任何区别。

sudo env显示HOME=/root和SHELL=/bin/bash

如何获取sudo命令以使用 中的设置/root/.bashrc?

我知道这仅在bash以交互方式执行时才会发生,因此我愿意接受有关如何自定义的任何其他建议。

bash debian sudo

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

不能在脚本中使用别名,即使我在上面定义了它!

我有一个非常奇怪的案例...如果我使用 /bin/bash 运行脚本,它甚至无法识别我在脚本中设置的别名。而最奇怪的是

$ cat -n test.sh
    1 #!/bin/bash
    2 alias somecommand='ls -alF'
    3 alias
    4 somecommand
$ ./test.sh
alias somecommand='ls -alF'
./test.sh: line 4: somecommand: command not found
Run Code Online (Sandbox Code Playgroud)

...如上所示,如果我在脚本中运行命令“alias”,结果是 bash 将somecommand带入了别名,但是如果我运行somecommand本身,它仍然不会被识别!

如果我使用命令“sh”来运行脚本,一切正常..那么它是 bash 的错误吗?或者有什么我想念的吗?

任何帮助表示赞赏!

bash alias shell-script

12
推荐指数
4
解决办法
9380
查看次数

即使使用 shopt expand_aliases,bash 别名也不会扩展

我想在bash -c构造中运行别名。

该bash手册说:

当 shell 不是交互式时,别名不会被扩展,除非expand_aliasesshell 选项是使用设置的shopt

在这个例子中,为什么显式hi设置时找不到别名expand_aliases?

% bash -O expand_aliases -c "alias hi='echo hello'; alias; shopt expand_aliases; hi"
alias hi='echo hello'
expand_aliases  on
bash: hi: command not found
Run Code Online (Sandbox Code Playgroud)

我在跑GNU bash, version 5.0.0(1)-release (x86_64-pc-linux-gnu)。

上下文:我希望能够以空闲优先级运行别名,例如包含以下内容的脚本:

#!/bin/bash
exec chrt -i 0 nice -n 19 ionice -c 3 bash -c ". ~/.config/bash/aliases; shopt -s expand_aliases; $(shell-quote "$@")"
Run Code Online (Sandbox Code Playgroud)

我想避免使用,bash -i因为我不想.bashrc被阅读。

bash alias

9
推荐指数
2
解决办法
3190
查看次数

我可以让脚本使用别名而不是命令吗?

我有一个命令的别名(我正在设置 Python 开发环境)

alias python=~/virtualenv/bin/python
Run Code Online (Sandbox Code Playgroud)

这样我~/virtualenv/bin/python只需输入python. 现在在我的项目中有一个 shell 脚本,例如:

#!/bin/sh
python run-project.py
Run Code Online (Sandbox Code Playgroud)

我可以让脚本使用我的别名python而不是python它在 中找到的别名$PATH,而不对脚本进行更改吗?

alias shell-script

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

标签 统计

bash ×4

alias ×3

shell-script ×3

bashrc ×1

debian ×1

sudo ×1

terminal ×1