LINUX 脚本的启动
第一步:建立一个脚本文件
1
Ctrl+Alt+t 打开命令行(弹出的界面称为一个叫做shell的东西,shell是一种统称,bash,zsh是实际的东西,这几个概念是自己琢磨的,不知道对不对)
在命令行输入:mkdir mybin
用于创建一个mybin的目录(相当于windows下的文件夹)此时创建的mybin目录位于你所处的位置,查看自己位置的方法就是ls。如果想要创建到指定的地方,就用cd先切换到指定地点,在进行创建,这个方法比较笨,原理么就是这个原理,随着对命令的熟悉会越来越好
2
创建一个hell.c文件
用你的编辑器(gedit/vim)打开,写下以下代码
此时在图形用户界面中可以看到有一个hell.c文件生成,所生成的位置就在此时命令所在的位置 ls可以看下
下来对hell.c文件进行一个编译
ls一下,可以看到有一个hell文件被生成,这个没有后缀名的东东就是一个二进制文件,下来我们把这个文件放入mybin目录下
输入
如上图,无法执行,Why 我也不太懂。换个命令 hell如下图
好了!可能在命令行中直接输入二进制文件的名字,系统就会自动执行,不需要调动bash程序(那么问题来了,bash到底是shell还是程序?我也没有理解明白,我也很绝望)
不过此时我们解决了建立一个脚本文件,然后可以直接在命令行中执行。但是还有问题,如果我们切换到另外的目录下之后,在输入hell就出下找不到该命令。这是为什么?因为此刻的文件只在该目录下才有效,那么我们想随时随地的调用它,怎么办?用这个命令
用这个之后的效果就是在任何目录下都可以执行了。这句话的意思呢把/home/zager/mybin这个目录路径赋给PATH(PATH是一个环境变量,什么是环境变量,我也不知道啊)
执行上述过程之后,当我们关掉shell之后,重新打开一个新的shell我们会发现,输入hell又会出现找不到该命令。怎么解决呢?每次启动一个shell系统会自动扫描某几个文件,现在我们把这个目录的路径加到这个文件里面。启动新的shell,系统自然也就将我们的脚本路径扫描进去了。
我们要修改的就是在home目录下一个隐藏文件.bashrc。首先切换到home目录下cd ~,这就已经到了home目录
然后ls -a 查看以下隐藏文件。
.bashrc这个文件就是我们要修改的
gedit .bashrc打开它
拉到最底部,在最后一行写上:/home/zager/mybin保存退出
现在在命令行里输入hell 会发现还是找不到命令的错误。很简单,在命令行里输入 .bashrc回车 再次输入hell就好了。
上面的hell文件就是我们的脚本文件,脚本文件应该是可以多种类型的(没试过,猜测)。只要把脚本文件所在目录的绝对路径放在PATH变量里面就可以在当前shell中任何一级目录下运行了。要想每次打开新的shell之后让我们的命令有效,那就去修改每次shell启动是系统扫描的那几个文件就好了。