我正在通過ansible-playbook自動安裝聖人。因爲我需要運行兩個shell腳本。 下面是第一個shell腳本的樣子:如何將密碼作爲參數傳遞給shell腳本
#!/bin/bash
# Creating Sage notebook
dir="/root/.sage/sage_notebook.sagenb"
screen -S "Sage_Server" sage -c 'notebook(interface="", directory=$dir, port=80, accounts=true)'
這是第二個shell腳本代碼:
#!/bin/bash
# Creating Sage inotebook
address=$(hostname --ip-address)
sage -c "inotebook(interface=" "'$address'" ",port=80,accounts=true)"
這是劇本的樣子:
---
- hosts: localhost
remote_user: root
tasks:
- name : update system
apt : update_cache=yes
- name : install m4
apt : name=m4 state=present
- name : install build-essential
apt : name=build-essential state=present
- name : install gcc
apt : name=gcc state=present
- name : install gfortran
apt : name=gfortran state=present
- name : install libssl-dev
apt : name=libssl-dev state=present
- name : install python-software-properties
apt : name=python-software-properties state=present
- name : add sage ppa repo
apt_repository: repo='ppa:aims/sagemath'
- name : update system
apt : update_cache=yes
- name : install dvipng
apt : name=dvipng state=present
- name : install sage binary
apt : name=sagemath-upstream-binary state=present
- name : invoke create_sagenb script
command: /usr/bin/screen -d -m sudo /root/databases-and-datamining-iiith/python-scripts/create_sagenb -i -y
- name : invoke start_sage script
command: /usr/bin/screen -d -m sudo /root/databases-and-datamining-iiith/python-scripts/start_sage -i -y
現在,當我運行第一個腳本,它會要求一個新的可能是任何東西的聖人密碼。但是我無法從劇本中傳遞密碼。 不過,如果我做
ps -ef | grep sh
我可以看到腳本運行,但聖人服務沒有運行。 它需要密碼才能啓動服務。
任何人都可以請告訴我如何通過命令將密碼作爲參數提供給shell腳本。
用於將密碼傳遞給shell腳本的技術與用於在腳中拍攝自己的技巧相同。你避免它。沒有引入安全漏洞就沒有辦法做到這一點。 –