
スクリプト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コマンドでディレクトリごと...
-
Subversionのリポジトリの削除
-
バッチを用いたフォルダの自動移動
-
makefile でファイルをコピーす...
-
拡張子の無いアクセスには404エ...
-
rmdirでフォルダが消せません
-
filemtimeについて
-
visualstudioでc#のdllができない
-
現在位置より2つ上のディレク...
-
CFileDialogの最初のディレクト...
-
renameでのPermission deniedエ...
-
ディストリビューションウィザ...
-
ディレクトリ名取得
-
コマンドプロンプトを指定のデ...
-
aspのページが表示できません
-
X-ServerにSmartyをインストー...
-
呼び出した相手をチェックする...
-
Tcl/Tkの超初歩的な質問です。
-
JAVA内で複数のファイルを削除...
-
/usr/local/lib/phpとはどうい...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
FTPコマンドでディレクトリごと...
-
Subversionのリポジトリの削除
-
CFileDialogの最初のディレクト...
-
makefile でファイルをコピーす...
-
現在位置より2つ上のディレク...
-
visualstudioでc#のdllができない
-
JAVA内で複数のファイルを削除...
-
rmdirでフォルダが消せません
-
バッチを用いたフォルダの自動移動
-
glob関数で日本語文字が取得で...
-
Subversionで、ファイルをリネ...
-
Makefile.inとMakefile.am
-
O/Rマッパーの選定
-
WSHやVBSについて
-
DLL のロードの順序
-
絶対パス?絶対アドレス?意味...
-
LoadLibraryの戻り値(HMODULE)...
-
ツリーメニューを縮小させたい
-
wordpressの記事をカスタマイズ...
-
アプリケーション・ディレクト...
おすすめ情報