shell 操作(四)

脚本的编写

所有在 Linux 命令行环境下的命令都可放在.sh脚本文件中,比如 hadoop 的一系列文件操作,如hadoop fs -put ...,甚至 hadoop jar /** / **

未必在 Linux 命令行环境下的命令,如hive>hive 中的相关命令和操作也可置于.sh脚本中,需要在命令之前增加 hive -e

type:查看命令是否为 bash 的内置命令

[root@zch ~]# type -t name
    file: 表示为外部命令;
    alias: 表示该命令为命令别名所设置的名称;
    builtin:表示该命令微 bash 内置的命令功能;
[root@zch ~]# type -t ls
alias
[root@zch ~]# type -t cd
builtin

如果命令串过长,如何使用两行输出

使用 \ 对回车(Enter)进行转义

[root@zch ~]# cp /var/spool/mail/root /etc/crontab \
> /etc/fstab /root

上面这个命令的功能就是将三个文件赋值到 /root 目录,因命令过长,使用 \[Enter][Enter]进行转义,让[Enter]不再具有“开始执行”的功能,以让命令可以继续在下一行输入。需要注意的是,\[Enter]之间没有空格,否则\转义的就是空格,而不是[Enter]了;

变量与变量的内容/设置或修改变量

  • (1)查看变量的内容

    [root@zhang ~]# echo $HOME
    /root
    [root@zhang ~]# echo ${HOME}
  • (2)设置或修改变量

    使用=赋值运算符(=前后没有空格)

    [root@zhang ~]# echo $myname
    
    [root@zhang ~]# myname=zhang
    [root@zhang ~]# echo $myname
    zhang

变量与环境变量

若该变量需要在其他子进程执行,则需要以 export 来使变量变为环境变量 。

何谓“子进程”呢?就是说在我目前这个 shell 的情况下,去打开另一个新的 shell,新的那个 shell 就是子进程。在一般的状态下,父进程的自定义变量是无法在子进程内使用的,但是通过 export 将变量设为环境变量后,就能够在子进程下面应用了。

内核的模块目录

[root@zhang ~]# cd /lib/modules/`uname -r`/kernel
[root@zhang ~]# cd /lib/modules/$(uname -r)/kernel

在一串命令中,在` 之内的命令会先被执行,而其执行的结果将会作为外部的输入信息。

每个 Linux 都能够拥有多个内核版本,且几乎 distribution 的所有内核版本都不相同。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

五道口纳什

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值