Linuxでバッチファイル的なものを作って実行したい(Windowsのbatみたいなやつ)


どんなことをしたいん?

Windowsでいう batファイルにあたるもの をLinuxでも作って実行したいん。
タイトルそのままやんけ(´・ω・`)

せっかくだからDocker Desktop使ってみよう

Windows10でDockerをインストールしてCentOS8の検証環境を作るところまでやってみましょい!
でDockerを導入したので、今回はDocker上のCentOS8でいろいろ試してみます。
作ったコンテナを起動して…

端末起動!

新規ファイル作成

まずは下記コマンドでシェルスクリプトファイルを作成します。

touch test1.sh

下記コマンドで、作ったシェルスクリプトファイルをviで開きます。

vi test1.sh

i を押してviの編集モードに移る。

下記を入力。

#!/usr/bin/bash
echo herou-wa-rudo

入力終わったら Esc で編集モード抜ける。
:wq で書き込み&viを終了。

1行目の #!/usr/bin/bashどのシェルで実行するか を指定しています。

シェルスクリプトファイルをいろんなフォルダーに置いても実行できるように #!/usr… と絶対パスで指定した方が都合がよいと思います。

作ったシェルスクリプトファイルに対して実行権限を与えてあげる

chmod 755 test1.sh

ほいじゃあ、自作シェルスクリプトを実行してみよう

./test1.sh

OKっすね。

シェルスクリプト実行時注意点

同じフォルダにあるからといってパスの先頭を省略しちゃダメ。
省略すると下図のようになっちゃいます。

『test1.sh』という ファイル ではなく コマンド を探して実行しようとして、こけます。

相対パスで指定する場合でも頭に『./』を付けるように。

蛇足

Dockerが役に立ってくれましたん。

CentOS8にRcloneインストールしてGoogleDriveの特定フォルダの中身表示するとこまでやるん
のRcloneのインストール検証でもDockerを使いました。

参考サイトさん

https://uxmilk.jp/8395
https://eng-entrance.com/linux-shellscript-do

バージョン

Windows10 Pro バージョン1909 OSビルド19042.630
Docker Desktop:2.5.0.1(49550) Engine:19.03.13
CentOS Linux release 8.2.2004 (Core)