使用sed命令尝试匹配值,然后附加值。 Comd工作正常,没有变量,但无法按预期传递变量。
例如: - 这个comd工作正常
sed -i 's/\( *OOZIEUSERS1 *\)[^ ]*\(.*\)*$/\1, test1,\2/' sudo_file.txt
但是当运行tru varible时它不起作用: -
#!/bin/bash -x
read -p "Enter the reference account name : " ACC
read -p "Enter the user name to be inserted into VISUDO : " UNAME
sed -i 's/\( *$ACC *\)[^ ]*\(.*\)*$/\1, $UNAME,\2/' sudo_file.txt
答案 0 :(得分:0)
如果您希望bash 展开变量,则应使用双引号"
:
sed -i "s/\( *$ACC *\)[^ ]*\(.*\)*$/\1, $UNAME,\2/" sudo_file.txt