source ./script_name
代わりに走りたかったです./script_name
。これにエイリアスを作成できますか?
Jenkinsジョブはスクリプトを実行し、./script_name
サーバーでスクリプトを実行する方法を編集することはできません。同じシェルでコマンドを実行するには、このスクリプトをソースとして実行する必要があります。したがって、Jenkinsが実行されるたびに./my_script
順番に実行されますsource ./my_script
。
答え1
あなたは一つ持っています。バッシュスクリプト/home/user/
一緒にするバッシュスクリプトmyscript
エイリアスを実行するように設定できます。
/home/user/myscript
#!/bin/bash
echo "WELCOME BASH"
走るchmod +x /home/user/myscript
エイリアスによる生成
alias
と実行一時
alias
- 端末で実行alias myscript="/home/user/myscript"
alias
(/home/user/.bashrc)に永続的に保存する - ファイル~/.bashrc
に追加/編集.bashrc
alias myscript="/home/user/myscript"
今ターミナルで実行してください:
myscript
オプション1
bashrcに以下を追加してください。
alias myscript="source /home/user/./myscript"
または
alias my_script="source ./my_script"
my_script
走るsource ./my_script
これはあなたのユーザーアカウントにのみ適用されます。すべてのユーザーのエイリアスが必要な場合は、システム全体のシェル構成ファイルにエイリアスを追加するか、/etc/bash.bashrc
管理bash
者に追加するように依頼する必要があります。
オプション2
Jenkins サーバーにログインし、source コマンドを使用するジョブのジョブ構成ページに移動します。
タスク構成のビルドセクションで、新しいビルドステップタイプを追加します。シェルの実行
存在する注文するソースコマンドをラップする関数を定義するフィールド
例:
function my_source() {
source ./home/user/my_script
# or
source /home/user/./myscript
# or
source /home/user/myscript
}
この機能を一時または永続エイリアスに割り当てる
alias my_alias='my_source'
オプション3
ラッパースクリプトの生成
#!/bin/bash
source /home/user/my_script
ファイルを実行可能にする
chmod +x my_script
これで実行できます./my_script
スクリプトが元のスクリプトと同じディレクトリにあること、またはシステムのPATH変数に含まれるディレクトリにあることを確認してください。
オプション4
Jenkinsジョブが実行しようとすると、./my_script
実際にはこれで実行されますsource ./my_script
。
スクリプトへのシンボリックリンクを作成します。
ln -s $(realpath my_script) source
Jenkinsジョブが実行されると、作成したシンボリックリンクで実行されます./my_script
。source ./my_script
この機能を慎重に使用してください、作業完了後のシンボリックリンクのクリーンアップ
rm source
源泉: