![スクリプトの実行中に問題が発生しました](https://linux33.com/image/116042/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%97%E3%83%88%E3%81%AE%E5%AE%9F%E8%A1%8C%E4%B8%AD%E3%81%AB%E5%95%8F%E9%A1%8C%E3%81%8C%E7%99%BA%E7%94%9F%E3%81%97%E3%81%BE%E3%81%97%E3%81%9F.png)
スクリプトを作成しました。/ホーム/プラスタ目次。内部に別のディレクトリを作成しました。/ホーム/プラスタ名前付きテストディレクトリ。その中に複数のファイルがあります。/home/prashast/test ディレクトリ。スクリプトを実行するとき/ホーム/プラスタディレクトリはその中のファイルには影響しません。/home/prashast/test ディレクトリ。
#!/bin/bash
for f in $(ls /home/prashast/TestDirectory/); do
mv "$f.txt" "$f.text";
done
答え1
ls
結果を解析しない、代わりにこのコードを使用してください。
for f in /home/prashast/TestDirectory/*; do
echo mv "$f" "${f%.*}.text";
done
${f%.*}
最初に見えるまでファイル名の終わりから始めまで削除するシェル引数拡張式(最初のサフィックスを切り取る)を使用しています.
。
関連章を読むBash シェルパラメータ拡張もっと学ぶ。