ubuntu 下编写自己的shell命令*(脚本)

首先,我们先在文件里编写自己的脚本,可以用自己熟悉的编辑器,例如vi vim gedit nano等
我先用gedit 编写一个名为hello的文件(gedit是图形化编辑器,如果没有图形界面的用户请用其他三个程序)

#!/bin/bash
#this is my first script
echo "Hello World!"

#是注释符,编写注释是一个好习惯
注意!!!:第一行中的#!是指明这个脚本的解释程序是bash--------当然也可能是sh等其他的解释程序

脚本实现的功能就是输出Hello World!
写好之后我们保存退出,
输入 ls -l hello查看文件,会出现‘-rw-r–r--’

这里一共有十个字符,第一个代表文件类型,-代表普通文件后面的9个字符共分为3组,每组3个字符。第1组表示创建这个文件的用户的权限,第2组表示创建创建这个文件的用户所在的组的权限,第3组表示其他用户的权限。r代表读,w代表写,x代表可执行
我们可以发现所有用户都没有可执行的权限

于是我们用chmod 775 hello 命令来改变文件权限,然后再查看会得到-rwxr-xr-x,这样我们的文件终于变成可执行的了

然后输入 ./hello会得到我们想要的结果,前面的./是告诉系统文件的位置是当前目录,但是我们执行其他shell命令例如ls时可没有在前面加指定文件位置的信息,我们大胆尝试一下直接输入hello,然后会出现command not found ,系统找不到命令;
是因为我们文件所在目录不在系统的搜索目录中,也就是环境变量没有包括这个目录,所以我们只需要把文件mv 到环境变量包含的文件夹中即可,怎么查看环境变量?
通过在命令行输入 ‘echo $ PATH’能查看环境变量,每个变量之间以:分开,我们把文件移动到/usr/bin/,然后执行hello,就会出现我们想要的Hello World!
但是有时候我们不想和其他用户分享这些命令,我们希望只有自己能用,当然也可以,我们在自己的用户目录下创建一个bin目录,然后把这个目录添加到环境变量中就行了;
可以用locate .bashrc命令查看对应文件位置,应该每个用户家目录下都会有,但是是隐藏文件,必须ls -a 才能看到
然后再文件最后加上export PATH=~/bin:"$PATH"
修改完之后我们必须要shell重新读取这个文件,可以通过
source .bashrc来重新读取
之后我们就可以享受我们自己的shell命令了

Guess you like

Origin blog.csdn.net/m0_45972156/article/details/115864807