zoukankan      html  css  js  c++  java
  • linux脚本初体验

    前言

    第一次写linux脚本,有点紧张。

    1. 写一个寻找特定用户的脚本文件?

    #! /bin/sh

    who | grep $1

    其中脚本第一行用来告诉kernel去使用/bin/sh来解释这个脚本;

    而$1则是执行脚本命令时带入的命令行参数,例如sh-# find_user me

    用来查看当前的系统中是否有me这个用户登入。

    2. 当脚本写好后,是无法直接运行的,为什么?

    直接运行,就会出现如下的错误信息:

    sh-# ./find_user me
    sh: ./find_user: Permission denied

    从错误信息来看,应该是find_user这个文件不具备可执行的权限。

    使用ls -l进行检查,果不其然这个文件的权限为644,不具有可执行权限。

    sh-# ls -l find_user
    -rw-r--r-- 1 root root 9 Jan  1 00:15 find_user

    3. 那我们要怎样让其可执行呢?

    chmod可以用来改变文件的权限:

    sh-# chmod 755 find_user

    sh-# ls -l find_user

    -rwxr-xr-x 1 root root 9 Jan  1 00:15 find_user

    你可以发现文件权限变成755了,./find_user执行这个脚本果然没问题。

    4. 为什么文件的默认权限是644?

    这跟umask的设定有关,

    sh-# umask
    0022
    umask的值是可更改的。

    关于umask相关的部分,在后续可能会做更深入的学习和分析。

    5. 脚本写好了要怎么管理?

    假设你写了好多脚本工具,那你该如何管理它们呢?

    如果每次执行一个脚本命令都需要靠绝对路径来执行,那会不会很麻烦呢?

    所以建议用户将自己编写的工具都放在同一个地方,比如/usr/bin或者用户喜欢的某个目录下,

    然后再使用 export PATH=$PATH:/usr/bin将/usr/bin加到PATH中。

    试一下你可以在任何路径下都可以执行find_user了,是不是很酷?

  • 相关阅读:
    DA_06_iptables 与 firewalld 防火墙
    DA_05_Linux(CentOS6.7) 安装MySql5.7数据库
    DA_04_解决Xshell中文乱码问题
    3.NumPy
    2.NumPy简介
    1.python环境安装
    4.5. scrapy两大爬虫类_Spider
    redis 锦集
    一位资深程序员大牛给予Java初学者的学习路线建议
    idea 使用过程中的一些设置记录
  • 原文地址:https://www.cnblogs.com/james1207/p/3306359.html
Copyright © 2011-2022 走看看