aliasで登録したコマンドをシェルスクリプト内で実行することは不可能 | クズリーマンのカス備忘録

aliasで登録したコマンドをシェルスクリプト内で実行することは不可能

bash-logo Bash
スポンサーリンク

bash-logo

aliasで登録したコマンドをシェルスクリプト内で実行することは不可能

aliasで登録したコマンドをシェルスクリプト内で実行することは不可能。

タイトルと、見出しと、本文で同じこと書いてみました。

ここまで読んでくれた君、諦めきれなかったようだね。しかし不可能なものは不可能なんだよ。諦めたまえ。aliasさんはインタラクティブでしか反応してくれないんだ…。対面でしか話を聞いてくれないんだ…。

一方、シェルスクリプトの中でaliasを定義する方法はあるとかないとか…。調べてないです(._.)

コメント

  1. ひろ より:

    出来ないは真っ赤な嘘です。

    デフォルト状態では出来ないだけで、
    オプションを指定すれば出来ます。

    bashスクリプト内にて、
    shopt -s expand_aliases
    を2行目あたりに書いて、3行目以降でllコマンドを実行してみればわかります。

    ——————————
    #!/bin/sh
    shopt -s expand_aliases
    ll
    ——————————

    • クズリーマン より:

      ひろ さん
      コメントありがとうございます!初(まともな)コメで嬉しいです^^

      ご指摘もありがとうございます!
      大変勉強になります。

      ですが、試してみたのですが、うまく動きませんでした。
      もしまたこちらのページご覧になることがあればご教授いただけると嬉しいです。

      # 環境
      mac:/tmp$ sw_vers
      ProductName: macOS
      ProductVersion: 11.5.2
      BuildVersion: 20G95
      mac:/tmp$

      # シェルスクリプトの内容

      mac:/tmp$ cat test.sh
      #!/bin/sh
      shopt -s expand_aliases
      ll
      mac:/tmp$

      # シェルスクリプト実行
      mac:/tmp$
      mac:/tmp$ ./test.sh
      ./test.sh: line 3: ll: command not found
      mac:/tmp$

      # 他に試したこと

      1行目の宣言を以下に変えてみても、結果は同じだった。
      #!/bin/bash

タイトルとURLをコピーしました