有的时候,需要重新指定用户名对应的UID和GID,比如docker容器对应用户的时候。这种情况,宿主机的用户名的UID如何修改呢?方法如下:
假设示例用户名为test,原始UID和GID都是1001,要修改为1000。
1.UID修改
usermod -u 100[......]
有的时候,需要重新指定用户名对应的UID和GID,比如docker容器对应用户的时候。这种情况,宿主机的用户名的UID如何修改呢?方法如下:
假设示例用户名为test,原始UID和GID都是1001,要修改为1000。
1.UID修改
usermod -u 100[......]
有个需求,要统计一个shell的变量中存在的双引号数量,如何实现呢?示例代码如下:
#! /bin/bash
test="sdfdsfds""123
echo $testtest=$(echo $test | awk -F'&qu[......]
初衷是想把变量的双引号替换为带斜杠的转义的双引号并输出。
示例代码如下:
#! /bin/bash
test="sdfdsfds"123echo $testtest=$(echo $test | sed 's/"/\&qu[......]
有时需要通过搜索关键字提取pid,shell代码如下:
#!/bin/sh
es_pid=`ps aux | grep 进程搜索关键字 | grep -v "grep" | tr -s ' '| cut -d ' &ap[......]
浩哥指点,其实有更简单的压测工具:stress。Stress是一个Posix系统下生成Cpu/Menory/IO/Disk负载的工具。
工具参数说明:
- 显示帮助信息
-v 显示版本号
-q 不显示运行信息-n,--dry-run 显示已经完成的指令执行情况-t -[......]
那,出现这个错误:
sed: -e expression #1, char 4: invalid usage of line address 0
八成是用了
sed -n 'start,$p'
的指令,start是不允许为0的,因为sed是从第[……]
如下示例代码实现了用telnet命令测试端口连通性的功能:
端口通信正常
-bash-4.1$ echo " " | telnet 192.0.0.1 10100
Trying 10.71.133.9...Connected to 10.71.133.[......]
有时需要变动用户组的名称,方法如下:
groupmod --new-name NEW_GROUP_NAME OLD_GROUP_NAME
参考:https://superuser.com/questions/404135/rename-users-group-nam[……]
有时read需要判定下输入是否合规,不合规还需要重新输入,实现示例如下:
while :
do
echo -n "Type number:" read num if [[ $num =~ ^- [0-9]+$ ]]; then