3

次のようなスクリプトでエイリアスを作成しようとしています:

#!/bin/bash
shopt -s expand_aliases

#Currently just using 'git' to try and get it working
#It'll be replaced with the following line when it works
#compgen -c | while read x;
echo 'git' | while read x;
  do
    a=`echo $x | tr '[:lower:]' '[:upper:]'`;
    echo $a;
    echo $x;
    if [ "$a" != '' ]
    then
      echo 'got here';
      alias $a=$x;
      alias;
      GIT;
    fi
done

簡単なテスト スクリプトが機能している間 (testme現在のシェルのエイリアスに追加されます):

#!/bin/bash
shopt -s expand_aliases
alias testme="echo It Worked"
alias
testme

最初のスクリプトからの出力:

GIT
git
got here
alias GIT='git'
alias grep='grep --colour=auto'
alias ls='ls --color=auto'
GIT: command not found

GITエイリアスに表示されますが、実行できません。. ./script.shand で呼び出してみましたsource script.sh。私は何を間違っていますか?

4

1 に答える 1