alias设置的别名命令在终端正常执行在shell脚本中无法直接使用(command not found)?
1 背景👇🏻👇🏻👇🏻:
setup_test为在/root/.bashrc中使用alias设置的别名命令。setup_test在命令行正常执行,但是执行sh脚本,报错:setup_test:command not found。
shell脚本内容如下:
#!/bin/bash
setup_test
2 分析🐰🐰🐰:
shell分为交互模式和非交互模式。脚本执行方式默认为非交互模式,普通命令行方式则默认是交互模式,而alias在非交互模式下默认是无法使用的,即alias设置的别名命令报错:command not found。
3 解决方法💊💊💊:
具体做法是在shell脚本内容修改如下:文章来源:https://www.toymoban.com/news/detail-486568.html
#!/bin/bash -i
setup_test
说明:#!/bin/bash是指此脚本使用/bin/bash来解释执行。其中,#!是一个特殊的表示符,后面的内容为解释此脚本的shell路径。文章来源地址https://www.toymoban.com/news/detail-486568.html
到了这里,关于【Ubuntu】alias设置的别名命令在终端正常执行在shell脚本中无法直接使用(command not found)?的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!