我正在努力执行
sudo -su db2inst1 /opt/ibm/db2/V9.7/bin/db2 force application (1995)
Run Code Online (Sandbox Code Playgroud)
但是我得到了这个错误 bash: syntax error near unexpected token('`
sudo -su db2inst1 id
Run Code Online (Sandbox Code Playgroud)
给我正确的输出.所以它一定是关于()的东西
如果我试试
sudo -su db2inst1 /opt/ibm/db2/V9.7/bin/db2 force application \(1995\)
Run Code Online (Sandbox Code Playgroud)
我明白了
/bin/bash: -c: line 0: syntax error near unexpected token `('
/bin/bash: -c: line 0: `/opt/ibm/db2/V9.7/bin/db2 force application (1995)'
Run Code Online (Sandbox Code Playgroud)
/opt/ibm/db2/V9.7/bin/db2 force application (1995)作为db2inst1用户运行给我同样的错误但运行
/opt/ibm/db2/V9.7/bin/db2 "force application (1995)"
Run Code Online (Sandbox Code Playgroud)
工作良好
正确的语法是
sudo -su db2inst1 '/opt/ibm/db2/V9.7/bin/db2 "force application (1995)"'
Run Code Online (Sandbox Code Playgroud)
Ran*_*832 20
既然您已经输入了要输入的shell和sudo -s运行的shell ,那么您需要引用或转义两次.(编辑固定报价)
sudo -su db2inst1 '/opt/ibm/db2/V9.7/bin/db2 force application \(1995\)'
Run Code Online (Sandbox Code Playgroud)
要么
sudo -su db2inst1 /opt/ibm/db2/V9.7/bin/db2 force application \\\(1995\\\)
Run Code Online (Sandbox Code Playgroud)
出于好奇,你为什么需要-s?你能不能这样做:
sudo -u db2inst1 /opt/ibm/db2/V9.7/bin/db2 force application \(1995\)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
101313 次 |
| 最近记录: |