aliasで登録したコマンドをシェルスクリプト内で実行することは不可能
aliasで登録したコマンドをシェルスクリプト内で実行することは不可能。
タイトルと、見出しと、本文で同じこと書いてみました。
ここまで読んでくれた君、諦めきれなかったようだね。しかし不可能なものは不可能なんだよ。諦めたまえ。aliasさんはインタラクティブでしか反応してくれないんだ…。対面でしか話を聞いてくれないんだ…。
一方、シェルスクリプトの中でaliasを定義する方法はあるとかないとか…。調べてないです(._.)
コメント
出来ないは真っ赤な嘘です。
デフォルト状態では出来ないだけで、
オプションを指定すれば出来ます。
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