-
awk命令查找一个字符串是否包含某个关键字:
temp=`echo $param | awk '{print index($1,"bulkload-arg-s")}'`
ps:param被当做awk的参数传入到后面 awk程序中执行。
应用场景示例脚本:
#!/usr/bash
paramArray=$@
for param in ${paramArray[@]}; do
temp=`echo $param | awk '{print index($1,"steven-test")}'`
if [[ $temp -ne 0 ]];then
PARAM=$param
fi
done
OLD_IFS="$IFS"
IFS="|"
arr=($PARAM)
IFS="$OLD_IFS"
echo $arr[0] $arr[1] $arr[2] $arr[3]
简述:上面那个场景是首先循环识别参数输入的参数列表中是否包含 steven-test关键字,如果包含则用PARAM记录这个参数,然后用|分隔这个参数,将这个参数分隔成一个数组,并打印出来。
- sudo -u admin 和 sudo su admin的区别?
sudo -u admin 是临时获取admin权限来执行命令,但是环境变量读取的是当前用户的。而 sudo su admin 是切换到admin用户在执行命令,环境变量读取的是admin的。本次启动遇到一个问题就是,用sudo su admin 来启动应用部署脚本,然后再java代码中向线程中写入 环境变量,其实个环境变量写入了 admin的 shell环境里,但是应用启动读取的是 那个启动用户的环境变量,致使调试不过。