如何在任务中通过Ansible将多个文件复制到远程节点?
我试图在我的任务中复制复制模块行来定义文件,但它只复制第一个文件.
我目前的PS1:
PS1='\[\033]0;$TITLEPREFIX:${PWD//[^[:ascii:]]/?}\007\]\n\[\033[32m\]\u@\h \[\033[35m\]`date +%Y-%m-%d,%H:%M:%S` \[\033[33m\]\w\[\033[36m\]`__git_ps1`\[\033[0m\]\n$: '
Run Code Online (Sandbox Code Playgroud)
是的,这是一团糟,但它很好用 - 我的提示看起来像这样:
P2759474@RVPTINTCL415MQC 2017-10-06,11:20:18 ~/repos/jdk (master)
Run Code Online (Sandbox Code Playgroud)
它们甚至是彩色编码的,用户@ machine为绿色,时间戳为紫色,当前位置为黄色,任何git分支为蓝色.我只是有点恼火,我必须使用反引号而不是$()构造.
谁知道为什么?愿意帮助我理解吗?使用subshell命令解析复杂的提示值时,这只是一个问题,因为我想了解为什么它在那里很重要...一般的改进建议总是受到欢迎,而我们在它.
更新 -
目前,当我尝试使用$()时,我得到了很多
bash: command substitution: line 1: syntax error near unexpected token ')'
bash: command substitution: line 1: 'date +%Y-%m-%d,%H:%M:%S)'
bash: command substitution: line 1: syntax error near unexpected token ')'
bash: command substitution: line 1: '__git_ps1)'
Run Code Online (Sandbox Code Playgroud)
我的环境有
BASH_VERSINFO=([0]="4" [1]="3" [2]="42" [3]="5" [4]="release" [5]="x86_64-pc-msys")
BASH_VERSION='4.3.42(5)-release'
[ -z "$BASH_VERSION" ] || shopt -q promptvars || ps1_expanded=no;
Run Code Online (Sandbox Code Playgroud)
这告诉我一些事情,也许......谢谢!
首先,我很抱歉我的英语不好.我想读取一个文件(tel.txt),其中包含许多电话号码(每行一个数字),并使用该行grep命令搜索源文件中的特定号码(另一个文件)!
我写了这段代码:
dir="/home/mujan/Desktop/data/ADSL_CDR_Text_Parts_A"
file="$dir/tel.txt"
datafile="$dir/ADSL_CDR_Like_Tct4_From_960501_to_97501_Part0.txt"
while IFS= read -r line
do
current="$line"
echo `grep -F $current "$datafile" >> output.txt`
done < $file
Run Code Online (Sandbox Code Playgroud)
tel文件样本:
44001547
44001478
55421487
Run Code Online (Sandbox Code Playgroud)
但那段代码什么都没有!当我用文字声明'current'变量时,它可以正常工作!发生了什么?!
我想检查更新是否可用,如果有,请在安装更新之前执行一些步骤。我运行yum check-updates查看可用于已安装软件包的更新列表,但我希望grep获得一个可用于脚本中某些逻辑的计数bash。因此,理想情况下,如果没有更新,我希望grep输出并返回 0,或者如果有五个更新可用,那么我希望返回 5。check-updatesgrep
我怎样才能 grep 这个来返回计数?