shell 学习记录(二)-Orange Pi Linux 5.4 SDK编译脚本main.sh

前言

接着上一个学习编译脚本main.sh
文件路径为:

orangepi/orangepi-build/scripts/main.sh

一、设置权限

umask 002

1.什么是umask

umask设置了用户创建文件的默认 权限,它与chmod的效果刚好相反,umask设置的是权限“补码”,而chmod设置的是文件权限码。一般在/etc/profile、$[HOME]/.bash_profile或$[HOME]/.profile中设置umask值。
你的系统管理员必须要为你设置一个合理的 umask值,以确保你创建的文件具有所希望的缺省权限,防止其他非同组用户对你的文件具有写权限。在已经登录之后,可以按照个人的偏好使用umask命 令来改变文件创建的缺省权限。相应的改变直到退出该shell或使用另外的umask命令之前一直有效。一般来说,umask命令是在/etc /profile文件中设置的,每个用户在登录时都会引用这个文件,所以如果希望改变所有用户的umask,可以在该文件中加入相应的条目。如果希望永久 性地设置自己的umask值,那么就把它放在自己$HOME目录下的.profile或.bash_profile文件中。

2.umask计算

umask值002 所对应的文件和目录创建缺省权限分别为664和775。

3.设置命令窗口长宽

if [[ $BUILD_ALL != "yes" ]]; then
	# override stty size
	[[ -n $COLUMNS ]] && stty cols $COLUMNS
	[[ -n $LINES ]] && stty rows $LINES
	TTY_X=$(($(stty size | awk '{print $2}')-6))	# determine terminal width
	TTY_Y=$(($(stty size | awk '{print $1}')-6))	# determine terminal height
fi

1.$COLUMNS、$COLUMNS

获取命令窗口大小。

zfeng@ubuntu:~/orangepi/orangepi-build/userpatches$ echo $COLUMNS
179
zfeng@ubuntu:~/orangepi/orangepi-build/userpatches$ echo $LINES
24

2.stty

stty(set tty,设置tty)命令用于检查和修改当前注册的终端的通信参数。

3.awk ‘{print $2}’

awk是以文件的一行为处理单位的。awk每接收文件的一行,然后执行相应的命令,来处理文本。
简单用法

zfeng@ubuntu:~/orangepi/orangepi-build/userpatches$ awk '{print $0}' /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
...

详见这里

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值