Linuxコマンド・シェルスクリプト

Linuxコマンド・シェルスクリプト

Ubuntuインストール用USBをUbuntu上で作成する(Rufusの代替)

Windowsでは、Rufusなどのソフトを利用することで起動用USBを作成できる。Ubuntu上では、ddコマンドを利用して起動用USBを作成できる。
Linuxコマンド・シェルスクリプト

dpkg -i と apt install の違い

ブラウザなどでダウンロードしたdebファイルをaptでインストールしようとしてもできなかったため、調べていたら、dpkgというコマンドの存在を知った。depkgとaptの両者を比較してまとめる。dpkgローカルにあるdebファイルを指定して...
Linuxコマンド・シェルスクリプト

grepでハイフン「-」から始まる文字列を検索する

grepで-から始まる文字列を検索するには、検索文字列の前に「--」を置きgrep -- '-検索したい文字列'とする。こうすることで、「検索したい文字列」がオプションとして解釈されてしまうことを防ぐことができる。「--」なしでgrep '...
Linuxコマンド・シェルスクリプト

echoに改行を反映させる

echo -eを使用すると、\によるエスケープを解釈し、\n(改行)などを反映させることができる。-eがないと、\がそのまま出力されてしまう$ echo "1\n2\n3"1\n2\n3-eをつけると、\nは改行になる$ echo -e "...
Linuxコマンド・シェルスクリプト

キーが押されるまで待機する

CMDのpauseのように、スクリプトを一時停止したい場合はread -p 'Press Enter...'などで実現できる。なお、readに変数名を指定せず実行した場合は、キーボード入力した値が$REPLYに格納される。
Linuxコマンド・シェルスクリプト

リダイレクト >| の意味

ほかの人が作成したシェルスクリプトを見ていると、リダイレクトに>|を使用しているのを見かけた。|をつける意味を知らなかったので記録しておく。>| とは|記号付きのリダイレクト >| を使用すると、存在するファイルに対しても強制的に書き込みを...
Linuxコマンド・シェルスクリプト

ジョブを一時停止、再開する

ジョブ実行中に、Ctrl+Zを押すことで、長時間かかるスクリプトの実行などを一時的に停止することができる。fgを実行することで一時停止したジョブを再開できる。
Linuxコマンド・シェルスクリプト

複数行の文字列を変数に代入する

複数行の文字列を変数に格納したい場合は次のように書くことができる。str=`cat <<- 'EOF'1行目2行目EOF`※「EOF」は任意の文字列を使用可各行の先頭のインデント(タブ)を無視する冒頭の例のように、「<<」の直後に「-」を入...
Linuxコマンド・シェルスクリプト

権限のないファイルに echo >> する方法

権限のないファイルに>>リダイレクトを利用して文字列を追記したい場合、sudo sh -c "echo '文字列' >> ファイルパス"などと記載する必要がある。※shはbashなども可単にsudo echo '文字列' >> ファイルパス...
Linuxコマンド・シェルスクリプト

: not found エラーが出たときは

WindowsでGitを使い始めてから、今までWSLで実行できていたシェルスクリプトで: not foundのエラーが複数行表示されるようになり、原因が分からずしばらく考え込んだ。原因は、Gitが改行のLFをCRLFに変換していたことだった...