私はいくつかのスクリプトを作成し、それらを~/bin
フォルダ。私はすでに、Shellセッション中にタイトルを呼び出すだけで、それらを実行できます。ただし、それらはインタラクティブに実行されていません(つまり、私の~/.bashrc
エイリアスは読み込まれません)。
それらをデフォルトでインタラクティブに実行するようにマークする方法はありますか?それとも私はsource ~/.bashrc
それらの中で定義されているエイリアスを使用するには?
他の選択肢は大歓迎です!
-i
オプションをハッシュバングに追加すると、スクリプトがインタラクティブモードで実行されるように指定されます。
#!/bin/bash -i
または、そのオプションでスクリプトを呼び出すこともできます。
bash -i /path/to/script.sh
.bashrc
はお勧めできません。 .bash_alias
ファイルにエイリアスを付けて、スクリプトでそのファイルをソースし、shopt
を使用します
何かのようなもの:
shopt -s expand_aliases
source ~/.bash_alias
Bashのマニュアルページには次のように記載されています。
シェルがインタラクティブでない場合、エイリアスは展開されません。ただし、expand_aliasesシェルオプションがshoptを使用して設定されている場合を除きます(下記のシェルの組み込みコマンドの下のshoptの説明を参照してください)。