0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

2025/1/1

Last updated at Posted at 2025-01-01

あけましておめでとうございます

現状:

エンジニアへの未経験転職。
就職先もほぼ決まり、2月からひよこエンジニアに。

2025年は頑張ろうということで、2025年学習記録1日目。

内容は常に書き散らしのメモです、あしからず。

当面の目標:LPIC101,102合格

#!/bin/bashとは?

以下、perplexity回答。

  • シェルスクリプトの先頭に記述される「シバン」(shebang)と呼ばれる行。

意味:

  1. このスクリプトがbashシェルで実行されることを指定します[1][2]。
  2. スクリプトを実行する際、システムは/bin/bashインタープリターを使用してスクリプトを解釈します[3]。
  3. スクリプト内でbash固有の機能を使用できることを明示します[2]。

主な特徴:

  • スクリプトを./script.shのように直接実行した場合、指定されたインタープリター(この場合はbash)でスクリプトが実行されます[4]。
  • bashの拡張機能(配列変数、高度な比較機能など)を使用できます[2]。
  • 移植性や永続性が期待できないスクリプトの場合、bashを明示的に指定することで機能を制限せずに書くことができます[2]。

注意点:

  • #!/bin/shと書いた場合、環境によっては異なるシェル(例:dash)で実行される可能性があるため、bash固有の機能を使用する場合は#!/bin/bashと明示することが重要です[2]。

Citations:

[1] https://moneyforward-dev.jp/entry/2015/05/21/bash-script-tips/
[2] https://qiita.com/jkr_2255/items/84366f677be3365331cd
[3] https://note.com/milkcoff_e/n/nb645f1dc3f2d
[4] https://nrbm-akatsuki.com/142/
[5] https://tech-blog.rakus.co.jp/entry/20210525/shellscript
[6] https://qiita.com/yn-misaki/items/6fcfab082dd664f10d4e
[7] https://qiita.com/tanimoto-hikari/items/e505b24c5d074b97c3c7
[8] https://zenn.dev/takeo/articles/532898d753b6fc

インタープリターとは?

プログラムを1行ずつ解釈しながら実行するソフトウェア。

以下、コメント

なるほど。
つまり、#!/bin/bash とは、外部のパッケージを読み込む記述みたいなもの?
書かずに実行したらどうなる?
=>echo で呼び出すだけなら記述が無くても何も問題なく実行される。
またどこかのタイミングでやってみるか。

配列について

実行権限を与えた.shファイルで、配列を記述。
fruits()という配列があった場合、
echo ${fruits[@]}で配列の中身を、
echo ${fruits[0]}index0の内容を、
echo ${!fruits[@]}indexを、
echo ${#fruits[@]}indexの個数を返してくれる。

この部分は書き方だけで他のプログラミング言語と同じみたい。

配列の追加方法:fruits[3]='banana'(例)
配列の削除方法:unset fruits[3]='banana'(例)

非常に分かりやすい。

引数とは。

実行するとき、シェルに渡す値。./○○.sh a b a, b がそれぞれ第一引数、第二引数

echo $? コマンド

直前に実行されたコマンドの戻り値(終了ステータス)を表示するためのコマンド。
成功していたら 0 が返ってくるらしい。

read コマンド

対話式で受け付ける標準入力モード。

  • read -p '入力時に文字を表示させる:' var
  • read -sp 'シークレットモードでの入力:' password
  • read -a names # 配列(Array)での入力

Python3

  • 配列の長さを取得する方法
    len(array)
  • 今回使用したもの:
    for i in range(len(array)):
  • Pythonでは、&& は論理演算子として使用できない。
     代わりに and を論理AND演算子として用いる。

今日はここまで!

0
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?