有人可以快速解释这些线路正在做什么以及它们的影响是什么?
1)sed -i "/^exampleusername/s/:1000:1000:/:${UID}:${GID}:/g" /etc/passwd
2)sed -i "/^examplegroupname/s/:1000:/:${GID}:/g" /etc/group
如果您对更多背景感兴趣,我会看到它们here。
答案 0 :(得分:2)
您应该查看sed教程或手册页。这是#1细分(并且不再有效sed
)。第二个具有相同的一般形式:
/^exampleusername/ # Perform a command on matching lines (address)
s/ # Substitute command with / as delimiter
:1000:1000: # Pattern to find
/ # Delimiter
:${UID}:${GID}: # String to replace with (expanded by bash)
/ # Terminating delimiter
g # Regex flag (global: replace all matches in line)
所以它只是找到以exampleusername
开头的行,并用当前用户的UID / GID替换所有出现的:1000:1000:
。
这有效地使exampleusername
与您当前的用户相同。