vimで作成したシェルスクリプトがあります。私がそれについて知っている唯一の考えはvar名です。
ドキュメントのどこかに次の行があります。
SecondHome='/Users/me/Documents/code/'
これの値は正しくありませんが、シェルスクリプトが行うことを変更せずに新しい機能を実行するシェルスクリプトを介して。
私は次のようなことを考えていました:
grep -n "SecondHome" somefile.sh
これは行番号と一致を吐き出しますが、変数定義であるため、最初の行番号のみを変更します。
次に、その行を次のように置き換えるために、なんらかの方法で置換を行うことを考えていました。
export SecondHome=$DirPath/code/$Repo
次に、変更されたスクリプトファイルを実行します。
#!/bin/zsh
export DirPath=/Users/me/Documents/
export Repo=MyNewRepo/
export LineNumber=$(grep -n "SecondHome" somefile.sh)
#carry out replace on somefile.sh at $LineNumber with: export SecondHome=$DirPath/code/$Repo/
. ./somefile.sh
これは可能ですか?