Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
bashshell:在MKDIR之前检查VAR_Bash_Shell_Unix_Command Line_Scripting - Fatal编程技术网

bashshell:在MKDIR之前检查VAR

bashshell:在MKDIR之前检查VAR,bash,shell,unix,command-line,scripting,Bash,Shell,Unix,Command Line,Scripting,如何检查一个字符的变量,然后删除该字符(如果存在) 如果$FILE\u FOL包含插入符号字符^,请从文件名字符串中删除该字符。然后在桌面上用新名称创建一个目录 FILE=$(find . -name "*.txt") FILE_FOL=${FILE%.*} cd $FILE_FOL mkdir -p ~/Desktop/$FILE_FOL 例如: 在桌面上创建目录AA-ABC0002006-55^\u 54,但因为它有一个^ 请重命名为AA-ABC0002006-5554 你说的“但

如何检查一个字符的变量,然后删除该字符(如果存在)

如果$FILE\u FOL包含插入符号字符^,请从文件名字符串中删除该字符。然后在桌面上用新名称创建一个目录

 FILE=$(find . -name "*.txt")
 FILE_FOL=${FILE%.*}
 cd $FILE_FOL
 mkdir -p ~/Desktop/$FILE_FOL
例如:

  • 在桌面上创建目录AA-ABC0002006-55^\u 54,但因为它有一个^

  • 请重命名为AA-ABC0002006-5554


  • 你说的“但是既然它有一个^”是什么意思?在大多数文件系统上,胡萝卜对于脚本的操作来说根本不重要。您的问题到底是什么?…也就是说,
    file=$(find.-name“*.txt”)
    如果可以有多个文件匹配该模式,则根本无法可靠地工作。请参阅的“操作”、“复杂操作”和“批量操作”部分。如果文件包含“^”之类的字符,请继续删除“^”和“重命名眼睛”,我们的答案已经告诉您如何执行此操作--不一定是使用
    ^
    ,而是针对其他特定字符。
    ^
    并没有什么特别之处(在脚本中;在交互式shell中,它会触发历史扩展,但这对于脚本来说并不重要)。