これはmycommand
私のlib / work.shファイルにある関数です。
cat .bashrc
source /home/lib/work.sh
つまり、mycommand
自動的に取得されます。
mycommand
端末で実行できます。
これでファイルを編集するには、vim test.txt
vimshift+"
のコマンドモードに入り、次のように入力します!mycommand
。
/bin/bash: mycommand: command not found
shell returned 127
Press ENTER or type command to continue
なぜmycommand
vimで見つけることができないのですか?
答え1
さまざまな種類の殻があります -ログインシェルと非ログインシェルの違いは何ですか? (この部分を見つけてください.bashrc
)
これはすべて購入ではなく、購入はありません.bashrc
。work.sh
問題を解決するには、関数をエクスポートしてサブシェルで使用できるようにする必要があります。
myfun() {
echo "Hello!"
}
export -f myfun
-
vim
:!myfun
働く!