アプリ版:「スタンプのみでお礼する」機能のリリースについて

コマンド、シェルスクリプト入門者です
よろしくお願いします

シェルスクリプトでls -la ~/を実行した結果と
ターミナルから ls -la ~/を実行した結果ではファイルの並び順が違うのはなぜですか?

シェルスクリプトだとファイルの種類は関係なしにファイル名のみで並んでますが
ターミナルだと種類+ファイル名で並んでます



またシェルスクリプトからの実行だとカラースキーム?(ファイルの色)の変化がありません
何か設定でも悪いのでしょうか?

使ってる環境はWSLのWindowsTerminalとzshとpreztoです

A 回答 (2件)

NO1様の回答を基に、ご質問者様の疑問を少し調べてみました。

但し私自身はcshしか使ったことがなく、zshの知識はゼロであるため、明確な回答にならないことをご容赦ください。

●コンソールからログインし、ターミナルエミュレータを起動した時、cshなら自動的に"~/.cshrc"ファイルが読み取られます。
さらに、cshスクリプトを記述する際は、スクリプトファイルの先頭に...

#!/bin/csh

などとおまじないを書きますが、この記述が.cshrcファイルの読み取りに繋がります。このおまじないを...

#!/bin/csh -f

などと書き換えると、シェルスクリプト起動時に.cshrcファイルを『読まなく』なります。この状態がご質問者様が疑問に思うコマンドプロンプトとスクリプト結果の違い、NO1様が説明された原因となります。
余計なことですが、cshの場合...

source ~/.cshrc

などと書くことで、スクリプト内で強制的に任意の設定ファイルを読み取らせることもできます。

●さて問題のzshですが、以下のurlに...

https://qiita.com/uasi/items/c4288dd835a65eb9d709

.zshrcファイルの説明があり、以下の記述を見つけました。

『...Zsh スクリプトを実行したり、 zsh -c 'command...' でコマンドを実行したりしたときには読み込まれません。』

私自身がもっと詳しくzshの使用を調べたら良いのかも知れませんが、いろいろ難しくて理解できないところもあります。
他の助言者が現れるのを待つか、ご質問者ご自身でシェルスクリプト先頭のおまじないの書き方、ホームディレクトリに置く環境設定ファイルの種類と内容などを調べるべきではないでしょうか。
    • good
    • 0

いくつか考えられます。


・ターミナルではlsにaliasが設定してあって、その中で並び順や色のオプションが指定してある
・ターミナルでの実行とシェルスクリプトとで環境変数に違いがあり、それが影響している(LS_COLORS等)
    • good
    • 0
この回答へのお礼

ありがとうございました

お礼日時:2021/05/05 20:13

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