Open12
Linux command & Shell script (+WSL)
sshpassコマンド
環境変数にAが設定されていない、またはBかCのどちらも設定されていないといったとき
if [ ! -v A ] || { [ ! -v B] && [ ! -v C]; }; then
###
fi
現階層のフォルダ・ファイル数をカウント
ls | wc -l
tar.gzファイルを展開せずに中身を確認
tar tzf 圧縮ファイル名
コマンドが存在するか確認
command -v コマンド名
※ 応用
install_mlflow.sh
if ! command -v mlflow &>/dev/null; then
sudo apt-get install -y libsqlite3-dev
python3 -m pip install mlflow pysqlite3
fi
WSL2にWindows上のフォルダをマウント
sudo ln -s /mnt/c/Users/ユーザー名/Desktop/Documents /home/ユーザー名/Documents
PATHの確認
echo $PATH
PATHの追加
export PATH=$PATH:追加したいPATH
永続化したい場合は.bashrcに書き込む。
任意のコマンドのPATH確認
which コマンド
WSLユーザー追加
wsl
sudo adduser username
sudo権限付与
Powershell
# rootユーザーでログイン
wsl -u root
# sudoグループに追加
usermod -G sudo username
デフォルトのユーザー設定
/etc/wsl.conf
に以下追記
[user]
default=username
pdb
(Python デバッガ)を使用しているときに、同時に Bash コマンドを実行したい場合は、いくつかの方法があります。
!
コマンドを使う
方法 1: pdb
では、!
を使って Python のデバッガ内から Bash コマンドを実行できます。例えば、以下のようにします。
(Pdb) !ls -l
これにより、ls -l
コマンドが実行され、その結果が pdb
のコンソールに表示されます。
方法 2: デバッガを一時的に終了する
デバッガの実行を一時的に終了して、コマンドラインから直接 Bash コマンドを実行する方法もあります。
- デバッガを一時的に停止するには、
Ctrl+Z
を押してプロセスをバックグラウンドに移動します。 - コマンドラインで必要な Bash コマンドを実行します。
-
fg
コマンドを使ってデバッガに戻ります。
$ fg
方法 3: デバッガからシェルを起動する
pdb
の中から直接シェルを起動して、その中でコマンドを実行する方法もあります。これには !
ではなく、os.system
を使用する方法があります。
-
os
モジュールをインポートし、os.system
を使用してコマンドを実行します。
(Pdb) import os
(Pdb) os.system('ls -l')
これにより、シェルコマンドを実行できますが、出力は pdb
コンソールに表示されます。
code
モジュールを使って interactive
シェルを起動
方法 4: デバッガを使っている最中にインタラクティブシェルを起動するためには、code
モジュールを使用することができます。
(Pdb) import code; code.interact(local=locals())
これにより、Python インタラクティブシェルが起動し、そのシェルから Bash コマンドを実行することができます。ただし、これは Python 環境内での操作となるため、シェルコマンドの実行には制限があります。
これらの方法を使用して、pdb
のセッション中に Bash コマンドを実行できます。用途や状況に応じて最適な方法を選んでください。
apt-cache polich
docker build 時に --no-cache
で今まで install できていた package ができなくなったときに確認してみるといいかも。