Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/18.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
bash概要文件中的变量_Bash_Unix - Fatal编程技术网

bash概要文件中的变量

bash概要文件中的变量,bash,unix,Bash,Unix,我不太熟悉bash_配置文件,正在我的bash_配置文件中设置一些别名,如下所示: alias nrc='npm run server:cloud' alias cnrc='cd path/to/repo && npm run server:cloud' 有没有办法在第二个命令(cnrc)中使用nrc而不是写出npm run server:cloud?bash_配置文件中变量的语法是什么?使用函数 nrc () { npm run server:cloud; } cnrc ()

我不太熟悉bash_配置文件,正在我的bash_配置文件中设置一些别名,如下所示:

alias nrc='npm run server:cloud'
alias cnrc='cd path/to/repo && npm run server:cloud'
有没有办法在第二个命令(cnrc)中使用
nrc
而不是写出
npm run server:cloud
?bash_配置文件中变量的语法是什么?

使用函数

nrc () { npm run server:cloud; }
cnrc () { cd path/to/repo && nrc; }
改用函数

nrc () { npm run server:cloud; }
cnrc () { cd path/to/repo && nrc; }

我可以使用别名cnrc='cd path/to/repo&&$(nrc)',这有什么不对?@devdropper87这没有错,但它确实会强制shell在子shell中运行命令,如果别名中包含更改变量值的代码,通常会导致问题;当子shell退出时,更改将丢失。除非您能提供一个函数无法工作的好理由,否则最好选择函数而不是别名。别名甚至不更短:
别名
=
符号为6个字符
()
{
;}
只有5:)我能做别名cnrc='cd path/to/repo&&$(nrc'),这有什么不正确的地方吗?@devdropper87这不是不正确的,但它会强制shell在子shell中运行命令,如果您的别名包含更改变量值的代码,通常会导致问题;当子shell退出时,更改将丢失。除非您能提供一个函数无法工作的好理由,否则最好选择函数而不是别名。别名甚至不更短:
别名
=
符号为6个字符
()
{
;}
仅为5:)