这是我的代码:
!/bin/bash
#Basic Syntax - pfc.sh [filename] [keyword] [delimiter]
cat $1 |awk -F $2 '{print $2}' |awk -F $3 '{print$1}'
这是按原样工作的,但是第二个和第三个变量需要被单个刻度包围才能工作,我不希望这是必要的。提前谢谢。
答案 0 :(得分:1)
如何为我的变量添加单个刻度,以便我的团队不必。
目前的工作原理示例:
sh pfc.sh variable1 'variable2' 'variable3'
抱歉,没有解决方法。单引号( not ticks )告诉shell按字面解释模式。例如,考虑到你有'my argument'
,而不将参数括在单引号中,shell将其解释为两个参数 - my
和argument
。
出于同样的原因,您的脚本也存在缺陷。应该是
cat "$1" |awk -F "$2" '{print $2}' |awk -F "$3" '{print $1}'
# mind the double quotes which prevents word splitting
# And you can't replace double quotes with single quotes as
# variable expansion will not happen inside single quotes.