快速建设企业网站,如何做好网站推,安全者 wordpress,爱用建站平台的优势目录 问题一#xff1a;用alias取别名后#xff0c;另一个shell中不生效描述原因解决 问题二#xff1a;用alias取别名后#xff0c;别名在脚本中不生效描述原因解决 问题三#xff1a;crontab计划任务不能运行docker命令描述原因解决 问题一#xff1a;用alias取别名后用alias取别名后另一个shell中不生效描述原因解决 问题二用alias取别名后别名在脚本中不生效描述原因解决 问题三crontab计划任务不能运行docker命令描述原因解决 问题一用alias取别名后另一个shell中不生效
描述
今天在服务器上配置了一条命令的别名
alias python38docker exec -it 4b11 python但是我用xshell远程连接时找不到我重命名的“python38”命令 原因
经过查阅如果要使用 alias 命令在当前 shell 中创建别名那么该别名只会在当前 shell 会话中生效。如果希望在其他 shell 会话或其他用户账户中使用该别名您需要将该别名添加到相应的配置文件中。 解决
如果使用的是 Bash shell可以将别名添加到 ~/.bashrc 文件中。这样每次启动新的 Bash shell 会话时该别名都会自动加载。
vim ~/.bashrc添加过后需要重新加载 ~/.bashrc 文件以使更改生效
source ~/.bashrc然后在新开的shell中运行如下命令便可以看到重命名生效
alias -p问题二用alias取别名后别名在脚本中不生效
描述
虽然问题一解决了但是又遇到了新问题就是别名在shell脚本里还是不生效
原因
别名只在交互式 shell 中生效而不在非交互式 shell例如脚本中生效。
解决
为了在脚本中使用别名您可以将别名转换为函数。函数可以在交互式和非交互式 shell 中都能够使用。
function ll() {ls -l
}#!/bin/bash# 调用 ll 函数
ll问题三crontab计划任务不能运行docker命令
描述
crontab 在执行含有docker命令的脚本时docker命令都执行失败
#!/bin/bash
docker exec -it 4b11 python test.py原因
exec 加了 -it 参数就开启了一个终端计划任务无法进入任何终端。
解决
只需要将exec 后的 -it 参数去掉即可
#!/bin/bash
docker exec 4b11 python test.py