shell 脚本的通信
为减少程序的耦合,即便是 shell 脚本,我也尽量分成多个文件;再说我对 shell 脚本比较陌生,分文件处理多个功能也更好 debug。当然,这就需要两个脚本之间的通信:两种方式,Environmental Variables
和 Shell Arguments
,一般我不会去碰 Environmental Variables
,因为许多程序的配置依赖于它们,也在 shell session 启动时就设定了的,一般功能的脚本不建议去添加环境变量。那么就 Shell Arguments
咯,通过创建 shell variable
,在运行另外一个脚本时通过参数传递变量。
参数丢失和分割问题
我有两个 shell 脚本文件,他们在传递参数时,出现了奇怪的问题,比如下面这个列子:
prase.sh:
#!/bin/sh
echo -e 'how many argumentst' $#
while read -r line; do
GEN=$(echo $line | grep -oP '^*K(.+)')
./out.sh $G