我试图创建一个别名如下,其中app_folder是顶级文件夹,appX是可执行文件:
alias app_folder='/tmp/app'
alias app1='app_folder/app1'
alias app2='app_folder/app2'
alias app_output='cat app_folder/log.txt'
Run Code Online (Sandbox Code Playgroud)
当我在终端中调用它时,我得到这样的东西:
bash: app_folder/app1: No such file or directory
cat: app_folder/log.txt: No such file or directory
Run Code Online (Sandbox Code Playgroud)
我尝试了所有不同的方法,但没有一个工作:
app1="$(app_folder)"'/app1'
app1='`app_folder`/app1'
Run Code Online (Sandbox Code Playgroud)
这可能是使用别名,如果没有,还有其他方法吗?
我想你想要这样的东西:
APP_FOLDER="/tmp/app"
alias app1="$APP_FOLDER/app1"
alias app2="$APP_FOLDER/app2"
alias app_output="cat $APP_FOLDER/log.txt"
Run Code Online (Sandbox Code Playgroud)
如果这种情况经常发生变化,您可以在文件中使用它,例如,更改别名指向的文件夹:
APP_FOLDER="$1"
alias app1="$APP_FOLDER/app1"
alias app2="$APP_FOLDER/app2"
alias app_output="cat $APP_FOLDER/log.txt"
Run Code Online (Sandbox Code Playgroud)
因此,如果这是在"aliastest"文件中,您可以这样做:
. aliastest /tmp/app
Run Code Online (Sandbox Code Playgroud)
你会得到,例如:
$ alias | grep app
alias app1='/tmp/app/app1'
alias app2='/tmp/app/app2'
alias app_folder='/tmp/app'
alias app_output='cat /tmp/app/log.txt'
Run Code Online (Sandbox Code Playgroud)
这是你在找什么?或者,您可以使用单引号在别名中包含变量,例如:
alias app1='$APP_FOLDER/app1'
alias app2='$APP_FOLDER/app2'
alias app_output='cat $APP_FOLDER/log.txt'
Run Code Online (Sandbox Code Playgroud)
然后,每当您设置APP_FOLDER变量时,您的别名将使用它.
| 归档时间: |
|
| 查看次数: |
1750 次 |
| 最近记录: |