[英]Bash Script Passing Variable with a delimiter
I am very new to bash scripting. 我对bash脚本非常陌生。 I want to create a script that parses a variable that contains dashes and uses each parsed value to pass on to do additional function. 我想创建一个脚本,该脚本解析包含破折号的变量,并使用每个解析后的值继续执行其他功能。
ex: 例如:
project="Acc-Account-Profile_info"
for i in ($project |sed 's/-/ /g')
do
case $i in ($project |sed 's/-/ /g')
echo DeptName = $i
shift
;;
case $i in ($project |sed 's/-/ /g')
echo GroupName= = $i
shift
;;
case $i in ($project |sed 's/-/ /g')
echo projectName= = $i
shift
;;
esac
done
I want the values to be like:- 我希望这些值像:
DeptName = ACC
GroupName = Account
projectName= Profile_info
right now I keep getting syntax error. 现在,我不断收到语法错误。 Any help would be greatly appreciated. 任何帮助将不胜感激。
why don't you use read
? 你为什么不使用read
?
project='Acc-Account-Profile_info'
IFS=- read -r DeptName GroupName projectName <<< "$project"
echo "DeptName = $DeptName"
echo "GroupName = $GroupName"
echo "projectName = $projectName"
IFS='-';set -f;project="Acc-Account-Profile_info"
for i in $project
{
case $i in
Account)
GroupName=$i
echo $GroupName;;
Acc) DeptName=$i
echo $DeptName;;
Profile_info)
projectName=$i
echo $projectName;;
esac
}
unset IFS;set +f
better use set -- for more input data 更好的使用集-用于更多输入数据
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.