Jun*_*Kim 3 shell scripting bash alias
我在centos中使用zsh。我想运行一些 shell 脚本。像这样。
脚本文件
#!/bin/sh
# something ..
source ./aliases-file.sh
Run Code Online (Sandbox Code Playgroud)
别名文件.sh
alias test=ls
alias test2=cat
Run Code Online (Sandbox Code Playgroud)
我运行./script.sh
,别名尚未应用于当前会话。我该如何工作?
当您运行script.sh
它时,它会在子 shell 中执行,并且您的别名不会传播到调用 shell(或您所指的当前会话)。您需要获取 script.sh 本身:source script.sh
. 这将导致命令在您当前的 shell 中运行,并且别名将变得可见。
旁注:出于可移植性的原因,您应该考虑使用.
而不是source
因为前者是 POSIX 标准,而后者是bashism。