Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Shell Ansible won';来自外壳模块的t寄存器变量_Shell_Ansible_Sqlplus - Fatal编程技术网

Shell Ansible won';来自外壳模块的t寄存器变量

Shell Ansible won';来自外壳模块的t寄存器变量,shell,ansible,sqlplus,Shell,Ansible,Sqlplus,我在其他剧目中使用了寄存器,效果很好。主要问题似乎是在将它与shell模块一起使用时 这是我目前的剧本 - name: Execute create-auth-key.sql shell: echo exit | sqlplus -l {{ data_security_schema_username }}/{{ data_security_schema_password }}@\(DESCRIPTION=\(ADDRESS=\(PROTOCOL=TCP\)\(HOST={{ data_sec

我在其他剧目中使用了
寄存器
,效果很好。主要问题似乎是在将它与
shell
模块一起使用时

这是我目前的剧本

- name: Execute create-auth-key.sql
  shell: echo exit | sqlplus -l {{ data_security_schema_username }}/{{ data_security_schema_password }}@\(DESCRIPTION=\(ADDRESS=\(PROTOCOL=TCP\)\(HOST={{ data_security_schema_hostname }}\)\(PORT={{ data_security_schema_port }}\)\)\(CONNECT_DATA=\(SERVER=dedicated\)\(SERVICE_NAME={{ data_security_schema_service_name }}\)\)\) @/tmp/create-auth-key.sql;
  register: sqlplus-stdout

- name: Set Fact aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
  set_fact:
    checking: "{{ sqlplus-stdout.stdout }}"

- name: print aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
  debug:
    msg: "{{ checking }}"
sqlplus正在正确运行事务,但是我想过滤事务的输出以获取生成的身份验证密钥。为此,我需要一个变量中的sqlplus输出。下面是抛出的错误

FAILED! => {"msg": "The task includes an option with an undefined variable. The error was: 'sqlplus' is undefined\n\nThe error appears to have been in '/var/lib/jenkins/.ansible/roles/test.auth-transaction/tasks/create-auth-key-and-obc.yml

为什么我的
set-fact
play无法识别
sqlplus-stdout

您不能在python变量中使用
-

- name: Execute create-auth-key.sql
  shell: echo exit | sqlplus -l {{ data_security_schema_username }}/{{ data_security_schema_password }}@\(DESCRIPTION=\(ADDRESS=\(PROTOCOL=TCP\)\(HOST={{ data_security_schema_hostname }}\)\(PORT={{ data_security_schema_port }}\)\)\(CONNECT_DATA=\(SERVER=dedicated\)\(SERVICE_NAME={{ data_security_schema_service_name }}\)\)\) @/tmp/create-auth-key.sql;
  register: sqlplusstdout

- name: Set Fact aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
  set_fact:
    checking: "{{ sqlplusstdout.stdout }}"

- name: print aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
  debug:
    msg: "{{ checking }}"