我有一个库文件,其中有一个别名:$ cat mylib.sh alias mal='ls -l' $cat test.sh #!/bin/bash source mylib.sh mal $./test.sh ./test.sh: line 3: mal: command not found 有什么想法吗? 最佳答案 要在非交互式shell中执行别名,请使用shopt -s expand_aliases 您可能需要使用函数:mal() { ls -l } mal