重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

bashの学習をするためにcygwinを利用しています。osはwindowsですが、カテゴリ的にはunix系だと思ったのでこのカテゴリで質問させていただきます。
シェルスクリプトに外部に記載されたalias設定を読み込むようにしたいのですが、うまくいかず困っています。具体的には
~/.bashrcに
alias ll = 'ls -l'
スクリプトtest.shに
#!/bin/ch
shopt -s expand_aliases
source ~/.bashrc
ll
と書いてtest.shを実行すると「ll:コマンドが見つかりません」というエラーがでます。これはどうしてなのでしょうか。aliasを外部ファイルから読み込むのは好ましいことではないというのは分かっているのですが、お答えしていただければ嬉しいです。

質問者からの補足コメント

  • すみません、修正します。#!/bin/chではなく#!/bin/shです。

      補足日時:2015/09/20 18:13
  • 何度もすみません
    ll = 'ls -l'となっていますがll='ls -l'です。スペースは不要ですね。

      補足日時:2015/09/20 18:30
  • 自己解決しました。.bashrc内の
    # If not running interactively, don't do anything
    [[ "$-" != *i* ]] && return
    という記述が原因だったようです。

      補足日時:2015/09/20 18:56

A 回答 (1件)

とりあえず、 test.shの一行目を


#!/bin/sh -x
とかのオプション付けたらどうなりますか?

また、 ll の直前に
alias
を書いてaliasの一覧を表示させたらどうなりますか?

手許ので確認したら、llが実行されたので、aliasが実行されていないように思います。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!