LoginSignup
11
11

More than 5 years have passed since last update.

概要

普段の業務をスクリプトにして集計やコンテナの立ち上げなどを自動実行させることができるようになったのですが、久しぶりにスクリプトを作成しようとした際に色々と忘れていたので簡単にファイルの作成〜実行をまとめておきます。

ファイルを作成

ターミナル
touch test.sh

ファイルを開く

  • vimを使いたい人
ターミナル
vim test.sh
  • 普段使っているEditorを使いたい人
ターミナル
open test.sh

ファイルの編集

  • 今回はtouchコマンドを使ってtest2というファイルを生成をするスクリプトを実行できるようにします。
test.sh
#!/bin/bash

touch test2

作成したファイルに実行権限を付与

  • 以下のようにlsコマンドに-lオプションをつけることでそのファイルに与えられている権限を確認することができます
  • rは読み込み権限。wは書き込み権限(左から 2~4 文字目ファイル所有者の権限)
  • 実行権限に当たるxがないので付与する必要がある。付与することでファイル内に記載したスクリプトを実行できるようになります。
ターミナル(権限の確認)
$ ls -l test.sh
-rw-r--r--@ 1 matsunagatakahisa  staff  23  3  9 12:55 test.sh
  • chomdコマンドに+付与する権限 権限を付与したいファイル名を渡すことで以下のように実行権限を付与することが可能です。
ターミナル(権限の付与①)
$ chmod +x test.sh
$ ls -l test.sh
-rwxr-xr-x@ 1 matsunagatakahisa  staff  23  3  9 12:55 test.sh
  • ちなみに以下のような形でも権限を付与することができます。
  • ①のコマンドで権限を付与した時との違いが分かるでしょうか?
    ① -rwxr-xr-x@ → ② -rwxr--r--@
    ②ではxの数が減っていることがみて取れます。これは権限付与対象をファイル作成者に限定したからです。 -rwxr-xr-xの2~4 文字目がファイル所有者への権限、5~7文字目がグループへの権限、8~10文字目がその他への権限を表しています。また、744という数字は左から順にファイル所有者への権限グループへの権限その他への権限を指定する箇所となっています。そして1~7の数字はそれぞれ、どのような権限を与えるかを表します。
ターミナル(権限の付与②)
$ chmod 744 test.sh
$ ls -l test.sh
-rwxr--r--@ 1 matsunagatakahisa  staff  23  3  9 12:55 test.sh
0 1 2 3 4 5 6 7
--- --x -w- -wx r-- r-x rw- rwx

作成したファイルの実行

コマンドを実行するディレクトリ内にもし作成したシェルスクリプトのファイルが存在すれば
以下を実行することでスクリプトが実行されます。もし、現在いるディレクトリ以外でもこのスクリプトを実行する際はpathを設定する必要があります。

ターミナル(ファイルの実行)
$ ./test.sh

参考

https://shellscript.sunone.me/tutorial.html
https://eng-entrance.com/linux-permission-basic

11
11
0

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
11
11