Linuxシェルコマンドの基本ガイド

Linuxシェルコマンドの基本ガイド

シェルechoコマンド

通常の文字列を表示

echo "こんにちは、世界"

エスケープ文字を表示

echo "これは\"テスト\"です"

変数を表示

read user_name # Pythonのinput()に相当
echo "${user_name}はユーザー名です"

read -p "お名前を入力してください:" name # プロンプト表示
echo "${name}様、ようこそ"

改行を表示

echo -e "最初の行\n"
echo "2番目の行"

改行なしで表示

echo -e "続けて表示 \c"
echo "次の行"

結果をファイルへリダイレクト

echo "この内容がファイルに保存されます" > output.txt

文字列をそのまま出力(エスケープや変数展開なし)

echo '${user_name}\"'

コマンド実行結果を表示

echo `date`

シェルreadコマンド

readコマンド:キーボードからの入力を読み取る

read item1 item2 item3 # スペースで区切って読み取る
echo $item1 $item2 $item3

read -p "年齢を入力してください:" age
echo "あなたの年齢は:${age}歳です"

read -p "パスワードを入力してください:" -s -t 5 password
echo
echo "パスワードは受け取りました"

シェルprintfコマンド

printfコマンド

printf "%-10s %-8s %-4s\n" 名前 性別 体重kg # (-は左寄せ、なしは右寄せ)
printf "%-10s %-8s %-4.2f\n" 田中 男 68.7543
printf "%-10s %-8s %-4.2f\n" 佐藤 女 52.1234
printf "%-10s %-8s %-4.2f\n" 鈴木 男 75.8
printf "%-10s %-8s %-4.2f\n" 山田 女 48.56789
# -10sは10文字幅を意味し、不足はスペースで埋め、超過もすべて表示

printf "整数: %d, 浮動小数点: %.2f, 文字列: %s\n" 10 3.14159 "テスト"

エスケープ文字

printfでは以下のエスケープ文字が使用できます:

  • \n - 改行
  • \t - タブ
  • \" - ダブルクォート
  • \\ - バックスラッシュ

シェルtestコマンド

testコマンド:条件が真かどうかをチェック

num1=10
num2=20

if test $num1 -eq $num2;
then
   echo "2つの数は等しい"
else
    echo "2つの数は等しくない"
fi

if test -z $num1;
then 
    echo "文字列の長さは0"
else
    echo "文字列の長さは0ではない"
fi

ファイルテスト

if test -f ./script.sh;
then 
    echo "ファイルが存在します"
else
    echo "ファイルが存在しません"
fi

if test -r ./script.sh;
then 
    echo "ファイルが存在して読み取り可能です"
else
    echo "ファイルが存在しないか、読み取り不可です"
fi

# ディレクトリの存在チェック
if test -d ./documents;
then
    echo "ディレクトリが存在します"
else
    echo "ディレクトリが存在しません"
fi

タグ: linux シェルコマンド bash スクリプト コマンドライン

6月28日 21:52 投稿