Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux Bash脚本和别名_Linux_Bash_Shell - Fatal编程技术网

Linux Bash脚本和别名

Linux Bash脚本和别名,linux,bash,shell,Linux,Bash,Shell,我正在尝试运行此脚本 #!/bin/bash # alias.sh shopt -s expand_aliases # Must set this option, else script will not expand aliases. # First, some fun. alias Jesse_James='echo "\"Alias Jesse James\" was a 1959 comedy starring Bob Hope."' echo; echo 作为输出,我只有两行

我正在尝试运行此脚本

#!/bin/bash
# alias.sh

shopt -s expand_aliases
# Must set this option, else script will not expand aliases.


# First, some fun.
alias Jesse_James='echo "\"Alias Jesse James\" was a 1959 comedy starring Bob Hope."'

echo;
echo
作为输出,我只有两行空行。为什么

是否需要将alias.sh导出到.bashrc中?如果需要,为什么

我从你那里得到了密码


完整的示例是:

#!/bin/bash
# alias.sh

shopt -s expand_aliases
# Must set this option, else script will not expand aliases.


# First, some fun.
alias Jesse_James='echo "\"Alias Jesse James\" was a 1959 comedy starring Bob Hope."'
Jesse_James

在本例中,在最后一行调用别名
Jesse_James
。在您的问题中,这一行缺失,因此从未调用别名。

完整的示例是:

#!/bin/bash
# alias.sh

shopt -s expand_aliases
# Must set this option, else script will not expand aliases.


# First, some fun.
alias Jesse_James='echo "\"Alias Jesse James\" was a 1959 comedy starring Bob Hope."'
Jesse_James

在本例中,在最后一行调用别名
Jesse_James
。在您的问题中,该行丢失,因此别名从未被调用。

您没有调用
Jesse_James
您希望输出是什么?您定义了一个名为
Jesse_James
的别名,但从未调用过它。@anubhava如何进行调用,您能举例说明吗?您可以在函数
mycd(){cd/to/where;}
中更改目录。而且,与别名不同,您可以根据传递的参数在函数中执行条件逻辑:
mycd(){if($);然后cd“$HOME/foo.d/$1”;else cd“$HOME/bar”;fi;}
您没有调用
Jesse\u James
您希望输出是什么?您定义了一个名为
Jesse_James
的别名,但从未调用过它。@anubhava如何进行调用,您能举例说明吗?您可以在函数
mycd(){cd/to/where;}
中更改目录。而且,与别名不同,您可以根据传递的参数在函数中执行条件逻辑:
mycd(){if($);然后cd“$HOME/foo.d/$1”;否则cd“$HOME/bar”;fi;}