【问题标题】:How to run some alias command in bash's non-interactive mode for Ubuntu [closed]如何在 bash 的非交互模式下为 Ubuntu 运行一些别名命令 [关闭]
【发布时间】:2012-12-02 18:08:15
【问题描述】:

我想在 bash 的非交互模式下运行一些别名命令。但似乎 Ubuntu 忽略了 BAHS_ENV。我怎样才能让它工作? la 是一个别名命令。我在其他linux上测试过。它工作正常。只是 Ubuntu 不行。

BASH_ENV=~/.profile bash -O expand_aliases -c la

【问题讨论】:

    标签: bash command-line alias


    【解决方案1】:

    我刚刚登录了一个 Ubuntu 机器 (12.04.1),它运行良好:

    创建一个包含以下脚本的文件test_bash_env

    #!/bin/bash
    
    echo "This is a test for BASH_ENV, the value of which is: \`$BASH_ENV'"
    

    那么,我们很高兴有:

    gniourf@ubuntubox:~/Test$ BASH_ENV=./test_bash_env bash -c 'echo "Hello, BASH_ENV!"'
    This is a test for BASH_ENV, the value of which is: `./test_bash_env'
    Hello, BASH_ENV!
    

    你是不是拼错了变量什么的?

    【讨论】:

    • 谢谢~gniourf~是的,它的工作~刚刚发现,因为Ubuntu提供的原始.bashrc有一些类似下面的代码来防止脚本在非交互模式下运行。那么为什么我的别名不起作用。现在只需将别名移到高于此块# If not running interactively, don't do anything case $- in *i*) ;; *) return;; esac
    猜你喜欢
    • 2023-03-17
    • 2015-02-19
    • 1970-01-01
    • 1970-01-01
    • 2017-09-06
    • 2012-10-23
    • 1970-01-01
    • 2022-06-30
    • 2016-06-14
    相关资源
    最近更新 更多