Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.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 如何给我的shell脚本一个简单的单词来运行它。例如:";mkdir";_Bash_Shell_Linux Kernel - Fatal编程技术网

Bash 如何给我的shell脚本一个简单的单词来运行它。例如:";mkdir";

Bash 如何给我的shell脚本一个简单的单词来运行它。例如:";mkdir";,bash,shell,linux-kernel,Bash,Shell,Linux Kernel,所以我现在有一个bash脚本,它为我自动执行git过程。我已经使shell脚本可以从任何地方访问。我想给脚本一个类似“ctdir”的命令,而不是每次都输入“initize_directory.sh”。有没有办法做到这一点?至少有三种方法: 首先,如果它在您的路径上,您只需将其重命名为ctdir 其次,您可以在启动脚本中为其创建别名(如$HOME/.bashrc): 第三,您可以创建一个函数来完成工作(同样,在启动脚本中定义它): 只需记住,在进行更改后,请确保加载修改后的启动脚本。新的shell

所以我现在有一个bash脚本,它为我自动执行git过程。我已经使shell脚本可以从任何地方访问。我想给脚本一个类似“ctdir”的命令,而不是每次都输入“initize_directory.sh”。有没有办法做到这一点?

至少有三种方法:

首先,如果它在您的路径上,您只需将其重命名为
ctdir

其次,您可以在启动脚本中为其创建别名(如
$HOME/.bashrc
):

第三,您可以创建一个函数来完成工作(同样,在启动脚本中定义它):


只需记住,在进行更改后,请确保加载修改后的启动脚本。新的shell应该会接收到更改,但您可能需要从现有shell手动重新获取它的源代码(或者直接退出并重新启动)。

同意@paxdiablo,最好的方法是创建别名

以下步骤将在Linux中工作:

  • 命名别名。 在命令行中键入以下内容:

    alias ctdir='initialize\u directory.sh'

  • 编辑bashsrc文件。 此文件通常位于您的主目录中。 在bashsrc文件末尾添加步骤1中提到的别名,以使它们在每个会话中都是永久的和可重用的

    vi~/.bashsrc


  • 不同意close vote,因为这与
    bash
    编程有关,基本上是如何使您的命令看起来像一等公民:-)为什么不将其重命名为
    ctdir
    ?启动脚本具体位于何处?这很复杂,
    bash
    手册页包含有关检查的大量文件的详细信息。但它可能在你的主目录中。
    alias ctdir='initialize_directory.sh'
    
    ctdir() {
        initialize_directory.sh
    }