機能 ショートカットキー
リファレンス(参考URL)一覧へ移動 R
記事URLをMarkDownとしてコピー Ctrl+M
前のコードタグへ移動 Ctrl+←
次のコードタグへ移動 Ctrl+→
ヘルプを表示・非表示 H
Tips
- ショートカットキーは記事上で有効です。ヘッダー/フッター付近では機能しないことがあります。
- コードタグ移動機能がうまく動かないときは、Shift+F5でページを更新してみてください。
- このウィンドウを閉じるには、Hキーをもう一度押してください

Bashの関数でデフォルトの引数

プログラミング

randomって関数で乱数32桁を簡単に生成できるようにしてたけどやっぱ桁数指定できたほうが良くて、以下のaliasを、


alias random="cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1"

こんなふうに改良。

random(){
  ARG1=${1:-32}
  cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w $ARG1 | head -n 1
}

random 8とやれば8桁の乱数になる。

ARG1=${1:-32}で、第一引数が指定されて入ればそれを変数に代入し、指定されていなければデフォルトとして32の数値を代入、という意味になるっぽい。

ARG4=${4:-$(date)}のようなコマンド展開して代入とかもできる。

関数だけでなく、.shのファイルに対しての引数に対してとしても同じように有効みたい。

参考文献:
How to write a bash script that takes optional input arguments? – Stack Overflow

この記事で欲しい情報が見つからなかった方へ

この記事の更新情報がある場合があります。
この記事は以下の記事とも関連性があると思われます。

yourls APIを使って最速で短縮URL作るBash関数を作る
Bash上でPython経由でjsonパース
bash stderr(エラー出力)を色付け
bashで標準出力の特定の文字列を色付けする
WSL bashでネットワークディレクトリ(共有フォルダ)にアクセス
BashからPowershellやcmdを実行するなら
Telegram APIでUbuntu BashからcurlコマンドでTelegramにメッセージを送信する


管理人の方針で、既存の記事の編集はせず、新しい情報や大きな既存情報の更新があった場合には、新しい記事として公開することになっています。
当記事で欲しい情報が見つからなかった・解決に至らなかった場合、これらのリンクがお役に立てるかも知れません。

どうやってこの関連記事を生成しているの?
この機能のPHPソースコード(2500行)

コメントを残す

Close Menu