脚本:
#!/bin/bash
mydir="/bamboo/artifacts"
cd "$mydir"
job="-JOB1"
for dir in */
do
bambooplan=`echo $dir | sed 's/\/$//g'`$job
echo $bambooplan
done
输出:
LERST-TSTREDAPIDB2WIN4-JOB1
LERST-TSTREDAPIDB2WIN5-JOB1
CA-TSTALLSQLWIN3-JOB1
CE-CSW-JOB1
CE-SNAP-JOB1
我想将此传递给文件。我尝试了下面的命令,它给出了权限被拒绝的错误。有人能帮我弄清楚我想念的是什么吗?
echo $bambooplan > result.txt
$bambooplan > result.txt
答案 0 :(得分:1)
我使用第一个'写作行'(echo $bambooplan > result.txt
)测试了您的代码并且对我来说非常合适,只有我会将echo $bambooplan > result.txt
更改为echo $bambooplan >> result.txt
,否则,您将覆盖整个在每次迭代中保存文件,只保留最后一次。
请注意,您的代码会写入INSIDE /bamboo/artifacts
,并且您将文件路径写为/bamboo/artifacts
,绝对路径,而不是相对路径 - > bamboo/artifacts
,所以,也许,您尝试在没有写入权限的文件夹中写入,并且需要chmod
。
答案 1 :(得分:0)
使用>重定向到您定义的文件如您所指定或>>>如果文件已经存在并包含数据。关于权限,只需通过chmod命令交换脚本的权限。
例如:
chmod 755 scriptname
更改输出文件权限的相同过程。