我尝试在不成为 su 用户的情况下运行脚本,并为此使用此命令:
echo "password" | sudo -S <command>
Run Code Online (Sandbox Code Playgroud)
如果我将此命令用于“scp”、“mv”、“whoami”命令,则该命令运行良好,但是当我用于“chmod”时,该命令会要求我的用户输入密码。我不输入密码,命令有效。我的问题是系统向我询问密码。我不希望系统要求输入密码。
问题ss是这样的:
[myLocalUser@myServer test-dir]$ ls -lt
total 24
--wx-wx-wx 1 root root 1397 May 26 12:12 file1
--wx-wx-wx 1 root root 867 May 26 12:12 script1
--wx-wx-wx 1 root root 8293 May 26 12:12 file2
--wx-wx-wx 1 root root 2521 May 26 12:12 file3
[myLocalUser@myServer test-dir]$ echo "myPassw0rd" | sudo -S chmod 111 /tmp/test-dir/*
[sudo] password for myLocalUser: I DONT WANT ASK FOR PASSWORD
[myLocalUser@myServer test-dir]$ ls -lt
total …Run Code Online (Sandbox Code Playgroud) 当我想要的状态存在时,我想更改文件中的单元格。例子:
文件:
id311 vmName1 state0
id312 vmName2 state0
id313 vmName3 state0
Run Code Online (Sandbox Code Playgroud)
我将键入一个脚本,该脚本仅更改一行的状态列。所以如果我输入sed -i 's/state0/state1/g'all state0's be state1。我只想更改一行的状态,例如:
文件:
id311 vmName1 state0
id312 vmName2 state1
id313 vmName3 state0
Run Code Online (Sandbox Code Playgroud)
如何将sed命令用于带有 use id 的特殊行?注意:id 是唯一的。