LoginSignup
1
1

More than 3 years have passed since last update.

Shell Script自分用メモ

Last updated at Posted at 2021-02-18

Shell Script コマンド まとめ

基本

変数宣言

#=の左右は空白なし
#name ="MK"  //NG
#name= "MK"  //NG
#name = "MK" //NG
name="MK"
echo "My name is $name"

#コマンドの結果も変数に入れます
result=$(networksetup -getdnsservers Wi-Fi)
echo $result

比較

#[の右と]の左もスペースが必要です
1="pencil"
if [ "$1" = "pencil" ]; then
    echo "Is Same"
else
    echo "Is Not Same"
fi

なぜか$1にも""を使う理由は何も代入しないと、以下の結果になってしまいます、errorです

if [ = "pen" ]; then

Macで保存後ダブルクリックで実行

1.ファイルを.commandで保存、もしくは拡張子なし
2.

chmod +x myscript

スクリプト実行後Enterキーを押すまで窓を閉じない

#scriptの最後で
read -p "Press Return to Close..."

Wi-FiのDNSを切り替え

#現在のWi-Fi DNS確認
networksetup -getdnsservers Wi-Fi

#Wi-Fi DNSをセット
networksetup -setdnsservers Wi-Fi $dns

#Wi-Fi DNSを削除
networksetup -setdnsservers Wi-Fi empty

ファイルをtar.gzにする

$ tar -czvf file.tar.gz ./folder

-c : 新しく作成する
-v : 出力
-f file.tar.gz : 対象
-z : gzipでfilterする

tar.gzを解凍する

$ tar -xzvf file.tar.gz

-x : 解凍

$ tar -xzvf my.tar.gz -C /home/vivek/backups/

-C : 解凍先を指定する(実際は解凍する前にそっちに移動する)

tar.gzの中身を見る

tar -ztvf file.tar.gz

ファイルをリモートにあげる

ファイルをアップロード

$ scp file.txt remote_username@XX.XX.XX.X:/remote/directory/myfolder

ファイルの名前を変更

$ scp file.txt remote_username@XX.XX.XX.X:/remote/directory/myfolder/newFile.txt

Directoryごとをリモートにあげる

$ scp r /folder/project remote_username@XX.XX.XX.X:/remote/directory/

リモートからローカルへ

scp remote_username@XX.XX.XX.X:/remote/directory/file.txt /local/directory

SSH 関連(要復習確認:X)

連続コマンドを実行したい場合

ssh -T XXX.XX.X.XXX << `EOF`
cd /myfile/project/
pwd
ls -ll
mv file newFile
EOF

ローカル変数は上記のやり方で使えないので注意

NAME="myProject"

ssh -T XXX.XX.X.XXX << `EOF`
echo "This is my ${NAME}"
EOF

結果

This is my

毎行ずつならできます

ssh -T XXX.XX.X.XXX << `EOF`
ssh -T XXX.XX.X.XXX echo "This is my ${NAME}"

リモートにファイルあるかどうか

TARGETZIP="myfile.tar.gz"
ssh -T XXX.XX.X.XXX "[ -f /file/folder/$TARGETZIP ]"
1
1
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
1
1