
スクリプトtest.kshの中で、以下のようなコードを書いています。
mv /hogehoge1/* /hogehoge2/
実行すると以下のようなエラーがでます。
mv: cannot stat '/hogehoge/*' : そのようなファイル、ディレクトリはありません。
ksh -x test.ksh で実行すると、
アスタリスクが展開されて以下のように実行されているようです。
mv /hogehoge/aaa /hogehoge/bbb /hogehoge/ccc /hogehoge2/
どうしたらターミナルで叩いたときと同じようにファイルの移動ができますか?
No.2ベストアンサー
- 回答日時:
> アスタリスクが展開されて以下のように実行されているようです。
> mv /hogehoge/aaa /hogehoge/bbb /hogehoge/ccc /hogehoge2/
というのは、シェルとして正しい動作に思えますが?(/hogehogeの下にaaa,bbb,cccというファイル、またはディレクトリがある、として)
コマンドラインから mv /hogehoge/* /hogehoge2/ としたときも、同じ展開が行われます。通常はそれが表示されないだけです。
unix系のシェルでは、*や?等の「ワイルドカード」を解釈して、該当するファイル名に展開するのは「シェルの仕事」であって、mvやcp等のコマンドではそのような変換やファイル検索は行いません。
> mv: cannot stat '/hogehoge/*' : そのようなファイル、ディレクトリはありません。
というのは
・/hogehoge/*をkshが展開...しようとしたが、該当するファイルが無いので展開されず、そのままmvへ引き渡す
・mv で /hogehoge/* と言う名前のファイルまたはディレクトリを/hogehoge2/へ移動する...つもりが存在しないのでエラー
ということだと思います。
No.1
- 回答日時:
> mv /hogehoge1/* /hogehoge2/
は
mv /hogehoge/* /hogehoge2/
の間違いでよろしいでしょうか。
そして、test.kshはこれで全部でしょうか?
/hogehoge は/で始まる絶対パスですか?それとも実際は相対パスですか?
どっかで set -f や set -o noglob とかで展開が無効になっているとか無いですか?
この回答への補足
mv /hogehoge/* /hogehoge2/
でよいです。絶対パスです。
> どっかで set -f や set -o noglob とかで展開が無効になっているとか無いですか?
それはないです。展開はされていますが、展開されてコマンドが以下のように認識されてしまうようです。
> mv /hogehoge/aaa /hogehoge/bbb /hogehoge/ccc /hogehoge2/
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
FTPコマンドでディレクトリごと...
-
MkDir関数
-
Makefile.inとMakefile.am
-
現在位置より2つ上のディレク...
-
Subversionのリポジトリの削除
-
VB2008でFTPでのディ...
-
CFileDialogの最初のディレクト...
-
Permission denied in
-
visualstudioでc#のdllができない
-
バッチを用いたフォルダの自動移動
-
VB.NET 最下位のディレクトリ名...
-
Smarty includeでテンプレート...
-
LoadLibraryの戻り値(HMODULE)...
-
asp.netのクラスについて
-
phpのheader("Location:#pos")...
-
PHPのif文でその処理を途中で抜...
-
.htaccessにphp_valueが使用できな
-
mysql→EUC-JP、php→UTF-8の時の...
-
2つの画像ファイルが異なるファ...
-
require_once()でファイルが読...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
FTPコマンドでディレクトリごと...
-
CFileDialogの最初のディレクト...
-
Subversionのリポジトリの削除
-
バッチを用いたフォルダの自動移動
-
makefile でファイルをコピーす...
-
rmdirでフォルダが消せません
-
visualstudioでc#のdllができない
-
Visual C++ 2005 Express Editi...
-
ロケットBBSについて
-
phpのftp_putについて
-
現在位置より2つ上のディレク...
-
define でのルートディレクト...
-
ハッスルサーバーで海外からWP...
-
VB.NET 最下位のディレクトリ名...
-
絶対パス?絶対アドレス?意味...
-
レンタルサーバーでPDF出力
-
MkDir関数
-
図に示す階層構造で,現在のデ...
-
【BAT(バッチ)ファイル】Web...
-
http://localhost/に.htaccess...
おすすめ情報