使用 Bash 将字符串分解为两部分

Explode a string into two parts using Bash

我正在构建一个小脚本来自动执行我经常做的事情。

脚本接受一个参数,例如:vendor/package。我想把它和 split/explode 分成两个单独的字符串:vendorpackage.

我已经在此处和其他各个地方查看了解决方案,但没有任何效果。我敢肯定它真的很简单,但我不擅长 bash,所以非常感谢您的帮助。谢谢!

您可以使用 cut 来实现此目的

[ vaebhav@Vaibhavs-MacBook-Air:/usr/local/lib - 06:12 PM ]$ echo "value/package" | cut -d"/" -f1
value
[ vaebhav@Vaibhavs-MacBook-Air:/usr/local/lib - 06:12 PM ]$ echo "value/package" | cut -d"/" -f2
package
[ vaebhav@Vaibhavs-MacBook-Air:/usr/local/lib - 06:12 PM ]$ 

就其在脚本中的实现而言 -

part1=`echo  | cut -d"/" -f1`
part2=`echo  | cut -d"/" -f2`

如果使用 bash:

#!/bin/bash
echo ${1#*/}
echo ${1%/*}

测试:

$ bash foo.bash vendor/package
package
vendor