如果我在 bash 脚本中声明一个变量,然后尝试使用 sed 对其进行操作,我会不断收到错误。我试过在我的变量上使用双引号、反引号并避免使用单引号。这就是我实际上正在做的事情。
使用多个参数调用我的脚本
./myScript.sh apples oranges ilike,apples,oranges,bananas
我的目标是使用 sed 将 $3 ","替换为 "",然后使用 wc -w 来计算 $3 中有多少个单词。
MyScript.sh
fruits="$3"
checkFruits= sed -i 's/,/ /g' <<< "$fruits"
echo $checkFruits
以及在终端运行脚本后的结果:
ilike,apples,oranges,bananas
sed: no input files
附言在无数次谷歌搜索、阅读建议和尝试我的代码之后,我根本无法让这个简单的代码示例工作,我也不确定为什么。在我越过这个 block 之前,我无法尝试实现 wc -w 。
最佳答案
你可以做到
fruits="$3"
checkFruits="${3//,/ }"
# or
echo "${3//,/ }"
关于linux - sed 无法处理 bash 脚本中的变量;请求一个文件。简单例子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53233844/